《Java與模式》讀書筆記1(1-11)

來源:互聯網
上載者:User

開閉原則
Open-Close Principle(OCP)
Softeware entities should be open for extension,but closed for modification.
 
裡氏代換原則
Liskov Substitution Principle(LSP)
如果對每一個類為T1的對象o1,都有類為T2的對象o2,使得 以T1定義的所有程式P在所有的對象o1都代換成o2時,程式P的行為沒有變化,則類T2是類T1的子類。
關於父子類的關係,《墨子 小取》有喻:
 
“白馬,馬也。乘白馬,乘馬也。驪馬,馬也。乘驪馬,乘馬也。獲,人也。
愛獲,愛人也。臧,人也。愛臧,愛人也。此乃是而然者也。
rideHorse(Horse horse);->rideHorse(WhiteHorse whitehorse);
 
反之則不成立
獲之親,人也。獲事其親,非事人也。其弟,美人也。愛弟,非愛美人也。
車,木也。乘車,非乘木也。船,木也。乘船,非乘木也。盜.人也。多盜,非多
人也。無盜,非無人也。

 
依賴倒轉原則
Dependence Inversion Principle(DIP)
Abstractions should noet depend upon details.
Details should depend upon abstractions.
 
介面隔離原則
Interface Segregation Principle(ISP)
使用多個專門的介面比使用一個單一的大介面要好
 
合成/彙總複用原則
Composite/Aggregate Reuse Principle(CARP)
合成是值的彙總
彙總是引用的彙總
 
迪米特法則
Law of Demeter(LoD)
or:Least Knowledge Principle(LKP)

某人->朋友->朋友的朋友
常使民無知無欲;雞犬之聲相聞,民至老死,不相往來

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.