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

开闭原则
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)

某人->朋友->朋友的朋友
常使民无知无欲;鸡犬之声相闻,民至老死,不相往来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值