前輩的輪子-圖說設計模式
前輩的輪子-設計模式
前輩的輪子-Android源碼與設計模式
android
單一職責原則(SRP):一個類只負責一個職責,不要存在多個致使類變動的緣由
開閉原則(OCP): 對擴展開放,對修改封閉
里氏替換原則(LSP):子類必須可以替換他們的基類
依賴倒置原則(DIP):提升靈活性,高層不依賴低層,兩個都應該依賴於抽象;抽象不依賴與細節,細節依賴抽象
迪米特原則(LOD):類間解耦,類之間聯繫儘量少
接口隔離原則(ISP):客戶端不該該依賴它不須要的接口,多用組合,少用繼承
git
建立型設計模式(5種)
單例模式、工方法模式、抽象工廠模式、建造者模式、原型模式
建立型模式(Creational Pattern): 對類的實例化過程進行了抽象,可以將軟件模塊中對象的建立和對象的使用分離。爲了使軟件的結構更加清晰,外界對於這些對象只須要知道它們共同的接口,而不清楚其具體的實現細節,使整個系統的設計更加符合單一職責原則。
建立型模式隱藏了類的實例的建立細節,經過隱藏對象如何被建立和組合在一塊兒達到使整個系統獨立的目的。
程序員
結構型設計模式(7種)
適配器模式、裝飾模式、代理模式、外觀模式、橋接模式、組合模式、享元模式
結構型模式(Structural Pattern)描述如何將類或者對象結合在一塊兒造成更大的結構,就像搭積木,能夠經過簡單積木的組合造成複雜的、功能更爲強大的結構。
結構型模式能夠分爲類結構型模式和對象結構型模式:
github
根據「合成複用原則」,系統中儘可能使用關聯關係來替代繼承關係,所以大部分結構型模式都是對象結構型模式。
算法
行爲型模式分爲類行爲型模式和對象行爲型模式兩種:設計模式
根據「合成複用原則」,系統中要儘可能使用關聯關係來取代繼承關係,所以大部分行爲型設計模式都屬於對象行爲型設計模式。
.net
©愛穿襯衫的程序員設計