【重溫設計模式系列原始碼】
重溫設計模式,溫故而知新
對擴充套件開放,對修改關閉。
任何基類可以出現的地方,子類一定可以出現。
面向介面程式設計,依賴於抽象類而不是具體類。
使用多個隔離的介面,比使用單個介面好。
乙個實體應該儘量減少與其他實體的相互作用,使得系統功能模組之間相對獨立。乙個軟體實體對其他實體的引用越少越好,或者說如果兩個類不必彼此直接通訊,
那麼這兩個類就不應當發生直接的相互作用,而是通過引入乙個第三者發生間接互動
類的職責要單一,不能將太多的職責放在乙個類中
盡量使用合成/聚合的方式,而不是使用繼承。
將物件的建立和物件的呼叫分離開,呼叫者不用關注物件的生命週期。
在解決了物件的建立問題之後,物件的組成以及物件之間的依賴關係。
在物件的結構和物件的建立問題都解決了之後,就剩下物件的行為問題了。
學習方法盡信書不如無書,任何脫離實際業務的架構都是在耍流氓;所謂原則,只是為了更好地為我們服務;
具體如何應用需要我們在業務實踐中靈活把控。
重溫設計模式之狀態模式
狀態模式 state pattern 允許物件在內部狀態發生改變時改變它的行為,物件看起來好像修改了它的類。在生產流水線上,每個崗位的工人完成自己的步驟後,產品狀態發生變化,工人會交給下一環節處理。如果用 來描述一條披薩生產流水線,可以用狀態模式。pizza類為context角色,它封裝了客戶端感興...
重溫設計模式之 簡單 工廠模式
定義乙個建立物件的介面,讓其子類自己決定例項化哪乙個工廠類,工廠模式使其建立過程延遲到子類進行。常用場景 多資料庫實現 多種媒介的日誌記錄 uml圖 客戶端 public class client 簡單工廠模式存在乙個問題,如示例中需要增加新的資料庫型別時,需要修改employeedaofactor...
重溫設計模式之模板方法模式
模板方法模式 template pattern 定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。回到小明的披薩店。見建造者模式 經營一段時間後,小明開始思考如何降低人力成本,他意識到,如果能夠通過規則保證每個步驟的正...