设计模式(Java版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

小结

通过本章的学习,学生应该能够了解:

■ 单一职责原则SRP(Single Responsibility Principle):一个类,只有一个引起它变化的原因,应该只有一个职责;

■ 单一职责原则提出一个编写程序的标准,用“职责”或“变化原因”来衡量接口或类设计是否优良,但“职责”和“变化原因”都是不可度量的,因项目而异,因环境而异;

■ 里氏替换原则LSP(Liskov Substitution Principle):所有引用基类的地方必须能透明地使用其子类对象,反之则不行;

■ 在类中调用其他类时务必要使用父类或接口,如果不能使用父类或接口,则说明类的设计已经违背了LSP原则;

■ 如果子类不能完整地实现父类的方法,或者父类的某些方法在子类中发生“畸变”,则建议断开父子继承关系,采用依赖、聚集、组合等关系替代继承;

■ 依赖倒置原则DIP(Dependence Inversion Principle):高层模块不应该依赖低层模块,两者都应依赖其抽象,抽象不依赖细节,而细节依赖抽象;

■ 依赖倒置原则在Java中的表现是:模块间的依赖通过抽象产生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生,接口或抽象类不依赖于实现类,实现类依赖接口或抽象类;

■ 接口隔离原则ISP(Interface Segregation Principle):一个类对另外一个类的依赖性应当是建立在最小的接口上,使用多个专门的接口比使用单一的总接口要好;

■ 迪米特法则LoD(Law of Demeter):一个对象应该对其他对象有最少的了解,即一个类应该对自己需要耦合或者调用的类知道得最少;

■ 开闭原则OCP(Open-Close Principle):一个软件实体,如类、模块和函数应该对外扩展开放,对修改关闭。