2019-03-29java与模式读书笔记

本书链接:链接:https://pan.baidu.com/s/1L2K0sm0fdwrkfBrg-P-Ewg
提取码:8n6b

一个好的系统设计的三条性质:
(1)可扩展性
①开闭原则:
在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展。换言之,可以在不必修改源代码的情况下改变这个模块的行为。
优越性:
通过扩展已有的软件系统,可以提供新的行为,以满足对软件的新需求,使变化中的软件系统有一定的适应性和灵活性。
已有的软件模块,特别是最重要的抽象层模块不能再修改,这就使变化中的软件系统有一定的稳定性和延续性。
②里氏代换原则
任何基类可以出现的地方,子类一定可以出现。
一般而言,违反里氏代换原则的,也违背“开-闭”原则,反过来并不一定成立。
③组合/聚合复用原则
讲的是要尽量使用合成/聚合,而不是继承关系达到复用的目的。
遵守合成/聚合复用原则是实现“开-闭”原则的必要条件;违反这一原则就无法使系统实现“开-闭”原则这一目标。
④依赖倒转原则
讲的是要依赖于抽象,不要依赖于实现。
换言之,要想实现“开-闭”原则,就应当坚持依赖倒转原则。违反依赖倒转原则,就不可能达到“开-闭”原则的要求。


迪米特法则,讲的是一个软件实体应当与尽可能少的其他实体发生相互作用。
接口隔离原则讲的是,应当为客户端提供尽可能小的单独的接口,而不要提供大的总接口。

(2)灵活性
(3)可插入性

软件复用的好处:
(1)较高的生产效率
(2)较高的软件质量
(3)恰当使用复用可以改善系统的可维护性

你可能感兴趣的:(2019-03-29java与模式读书笔记)