1. 程式人生 > >為什麼業務中很少用到設計模式

為什麼業務中很少用到設計模式

    老鐵們在寫程式碼的的時候,估計多少都沾染一點設計模式這個概念,但很多猿人在實際的開發中發現設計模式用的很少,幾乎就是零,這是為何呢?
    設計模式的目的是提供可擴充套件性和可維護性。但是我們開發的專案本身,大部分都是固定寫死的,邏輯單一,我們開發的模組也並不在其他位置或者其他專案中複用,目的很明確就是做當前的業務,支付模組就管支付的業務,推送模組就管訊息推送的業務。所以,平時開發中用到設計模式的地方很少。但是框架就不同了,框架必須適應不同的專案,具備高彈性和高擴充套件性。他們要能適應各種不同的環境,所以,設計模式在框架設計中處處可見。

世界上成千上萬的專案都在使用Spring,Shiro,Mybatis,SpringBoot等,那麼,他們就必須能滿足各種不同的需求,使用不同的配置,外掛,定製化,他們不僅要適應你,還要適應他,各種策略模式,代理模式,責任鏈模式,狀態模式,眾口難調在這裡是不存在的!。比如shiro中的一個token,可能有的專案要使用簡單文字密碼,可能有些專案已要使用數字證書,這裡就必須使用策略模式spring中的事務處理,因為他是框架,他根本不知道自己要放在哪段service物件身上,他就使用動態代理模式,動態的進行執行時施加代理。可以這麼說,設計模式為擴充套件而生,對修改說NO,對擴充套件說YES! 你絕不會為了專案需要去傻傻的修

spring的原始碼來適應你的專案需求。
    框架就是這樣適應成千上萬的專案的。我們的業務邏輯程式碼,平時開發專案的時候,功能是死的,是專為這個場景而生的,不會在另外的場景中出現,所以,這種程式碼開發,業務的開發,是不需要設計模式的。對於我們平時開發的專案,如果需求有變化,我們一般的做法,是直接修改原始碼了,這樣的其實帶來了一定的修改成本,但是,為了一個專案中可能不明確的未來變化,而精心設計擴充套件性很高的架構,成本也是顯而易見的,,這是一個取捨的過程。深層次的說這是企業開發成本與專案實際應用的一個博弈過程。