開閉原則:對修改關閉,對擴充套件開放
思考方法:
說法一:考慮什麼會引起改變,而不讓這種改變影響你的設計,這種改變是問題域的變化,而不是條件語句般的改變。
說法二:找到乙個系統的可變因素,將他封裝起來。也就是說對可變性的封裝。
一種可變性不應當散落到**的很多角落裡,而應當封裝道乙個物件裡邊。繼承應當看做封裝變化的方法,不不應被認為是由一般物件生成特殊物件的方法。
一種可變性不應當和另一種可變性混在一起。
依賴倒轉原則:依賴於抽象,而不要依賴與具體的實現。
合成和聚合復用原則:盡可能利用合成和聚合,而不是繼承關係來達到復用的目的。
迪公尺特法則:乙個軟體實體應盡可能少的與其他實體發生相互作用,以限制通訊的深度和寬度。
介面隔離原則:提供盡可能小的介面,而不是大而全的介面。
關於設計模式的一道題目
乙個系統,提供多個http協議的介面,返回的結果y有json格式和jsonp格式。json的格式為,為了保證該協議變更之後更好的應用到多個介面,為了保證修改協議不影響到原先邏輯的 以下哪些設計模式是需要的?協議的變更指的是日後可能返回xml格式,或者是根據需求統一對返回的訊息進行過濾。a.aadap...
設計模式 設計模式的型別
解決的問題 物件建立。主要任務 為客戶程式建立物件,而不是由客戶程式直接初始化物件。這些設計模式提供了一種在建立物件的同時隱藏建立邏輯的方式,而不是使用 new 運算子直接例項化物件。解決的問題 類和物件的組合 主要任務 將不同的類和物件組合在一起,形成更大或者更複雜的結構體。這些設計模式關注類和物...
設計模式 設計模式
物件導向程式設計 oop 的基本概念有 封裝,抽象,繼承,多型等,如何開發出可復用的物件導向軟體一直困擾著軟體開發人員。可復用的物件導向技術包括類的繼承,物件的組合和引數化型別 generic gof的巨著 設計模式 總結出可復用的物件導向的23個設計模式,並且歸類成 建立型模式,結構型模式和行為型...