国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

記錄一些用來學習設計模式的博客及書籍:

NSFish / 2204人閱讀

摘要:里氏代換原則里氏代換原則面向對象設計的基本原則之一。里氏代換原則中說,任何基類可以出現的地方,子類一定可以出現。里氏代換原則是對開閉原則的補充。而基類與子類的繼承關系就是抽象化的具體實現,所以里氏代換原則是對實現抽象化的具體步驟的規范。

一、設計模式的六大原則:

1、開閉原則(Open Close Principle)

開閉原則就是說對擴展開放,對修改關閉。在程序需要進行拓展的時候,不能去修改原有的代碼,實現一個熱插拔的效果。所以一句話概括就是:為了使程序的擴展性好,易于維護和升級。想要達到這樣的效果,我們需要使用接口和抽象類,后面的具體設計中我們會提到這點。

2、里氏代換原則(Liskov Substitution Principle)

里氏代換原則(Liskov Substitution Principle LSP)面向對象設計的基本原則之一。 里氏代換原則中說,任何基類可以出現的地方,子類一定可以出現。 LSP是繼承復用的基石,只有當衍生類可以替換掉基類,軟件單位的功能不受到影響時,基類才能真正被復用,而衍生類也能夠在基類的基礎上增加新的行為。里氏代換原則是對“開-閉”原則的補充。實現“開-閉”原則的關鍵步驟就是抽象化。而基類與子類的繼承關系就是抽象化的具體實現,所以里氏代換原則是對實現抽象化的具體步驟的規范。—— From Baidu 百科

3、依賴倒轉原則(Dependence Inversion Principle)

這個是開閉原則的基礎,具體內容:真對接口編程,依賴于抽象而不依賴于具體。

4、接口隔離原則(Interface Segregation Principle)

這個原則的意思是:使用多個隔離的接口,比使用單個接口要好。還是一個降低類之間的耦合度的意思,從這兒我們看出,其實設計模式就是一個軟件的設計思想,從大型軟件架構出發,為了升級和維護方便。所以上文中多次出現:降低依賴,降低耦合。

5、迪米特法則(最少知道原則)(Demeter Principle)

為什么叫最少知道原則,就是說:一個實體應當盡量少的與其他實體之間發生相互作用,使得系統功能模塊相對獨立。

6、合成復用原則(Composite Reuse Principle)

原則是盡量使用合成/聚合的方式,而不是使用繼承。

二、設計模式分類:

設計模式可以分為三大類

創建型:

單例模式(Singleton) :確保有且只有一個對象被創建。

構建模式(Builder) :將一個復雜對象的構建與他的表示相分離,使得同樣的構建過程可以創建不同的表示。

原型模式(Prototype) :用原型實例指定創建對象的種類,并且通過拷貝這些原型來創建新的對象。

抽象工廠模式(Abstract Factory) :允許客戶創建對象的家族,而無需指定他們的具體類。

工廠方法模式(Factory Method) :由子類決定要創建的具體類是哪一個。

結構型:

裝飾者模式(Decorator) :包裝一個對象,以提供新的行為。

代理模式(Proxy) :包裝對象,以控制對此對象的訪問。

組合模式(Composite) :客戶用一致的方法處理對象集合和單個對象。

橋連接模式(Bridge) :將抽象部分與它的實現部分相分離,使他們可以獨立的變化。

適配器模式(Adapter) :封裝對象,并提供不同的接口。

享元模式:(Flyweight) :共享相同的數據減少重復創建

外觀模式(Facade) :簡化一群類的接口。

行為型:

策略模式(Strategy) :封裝可以互換的行為,并使用委托來決定要使用哪一個。

狀態模式(State) :封裝了基于狀態的行為,并使用委托在行為之間切換。

責任鏈模式(Chain of Responsibility) :使多個對象都有機會處理請求,從而避免請求的送發者和接收者之間的耦合關系 。

解釋器模式(Interpreter) :給定一個語言,定義他的文法的一個表示,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。

命令模式(Command) :封裝請求成為對象。

觀察者模式(Observer) :讓對象能夠在狀態改變時被通知。

備忘錄模式(Memento) :在不破壞對象的前提下,捕獲一個對象的內部狀態,并在該對象之外保存這個狀態。

迭代器模式(Iterator) :在對象的集合之中游走,而不暴露集合的實現。

模板方法模式(Template Method) :有子類決定如何實現一個算法中的步驟。

訪問者模式(Visitor) :表示一個作用于某對象結構中的各元素的操作,它使你可以在不改變各元素類的前提下定義作用于這個元素的新操作。

中介者模式(Mediator) :用一個中介對象封裝一些列的對象交互。

三、文章:

史上最全設計模式導學目錄(完整版)

23 種設計模式

寫最好的設計模式專欄

設計模式大雜燴(24種設計模式的總結以及學習設計模式的幾點建議)

二十三種設計模式及分類

練手源碼以托管到github

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70042.html

相關文章

  • 前端技術 博客文章、書籍 積累

    摘要:好多編輯器例如等都支持這樣的語法來快速的編寫代碼如何優雅地使用把標簽放在結束標簽之后結束標簽之前的差別什么是響應式設計怎樣進行 書籍 《JavaScriptDOM編程藝術》《JavaScript高級程序設計》《JavaScript框架設計》《JavaScript專家編程》《JavaScript Ninjia》《JavaScript語言精粹(修訂版)》《JavaScript設計模式》《J...

    LiangJ 評論0 收藏0
  • 前端技術 博客文章、書籍 積累

    摘要:好多編輯器例如等都支持這樣的語法來快速的編寫代碼如何優雅地使用把標簽放在結束標簽之后結束標簽之前的差別什么是響應式設計怎樣進行 書籍 《JavaScriptDOM編程藝術》《JavaScript高級程序設計》《JavaScript框架設計》《JavaScript專家編程》《JavaScript Ninjia》《JavaScript語言精粹(修訂版)》《JavaScript設計模式》《J...

    codercao 評論0 收藏0
  • 前端技術 博客文章、書籍 積累

    摘要:好多編輯器例如等都支持這樣的語法來快速的編寫代碼如何優雅地使用把標簽放在結束標簽之后結束標簽之前的差別什么是響應式設計怎樣進行 書籍 《JavaScriptDOM編程藝術》《JavaScript高級程序設計》《JavaScript框架設計》《JavaScript專家編程》《JavaScript Ninjia》《JavaScript語言精粹(修訂版)》《JavaScript設計模式》《J...

    huayeluoliuhen 評論0 收藏0
  • 初學者福音!可能是最適合你Java學習路線和方法推薦。

    摘要:學習完多線程之后可以通過下面這些問題檢測自己是否掌握,下面這些問題的答案以及常見多線程知識點的總結在這里。可選數據結構與算法如果你想進入大廠的話,我推薦你在學習完基礎或者多線程之后,就開始每天抽出一點時間來學習算法和數據結構。 我自己總結的Java學習的系統知識點以及面試問題,已經開源,目前已經 35k+ Star。會一直完善下去,歡迎建議和指導,同時也歡迎Star: https://...

    yanest 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<