《Java与模式》读书笔记1(1-11)

王朝java/jsp·作者佚名  2006-02-17
窄屏简体版  字體: |||超大  

开闭原则

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)

某人->朋友->朋友的朋友

常使民无知无欲;鸡犬之声相闻,民至老死,不相往来

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航