java设计模式--七大原则
java设计模式--七大原则
- 单一职责原则
- 接口隔离原则
- 里氏替换原则
- 依赖倒置原则
- 开闭原则
- 迪米特法则
- 合成复用原则
单一职责原则
即每一个类最好只实现一个功能,如果一个类中实现了多个功能,对其中一个功能进行修改时,可能造成其他功能错乱
接口隔离原则
- 使用多个专门的接口,不使用单一的总接口
- 如果只写了一个接口Interface1,其中有5个抽象方法,A与B类分别只实现其中的某一个或者某一些方法,这样就会造成巨大的浪费
- 可以把Interface1拆分成多个接口,每个接口相对独立,A与B类实现多个接口中的某些即可
里氏替换原则
- 子类可以扩展父类的功能,但不能改变父类原有的功能
- 总的来说多使用抽象和多态
依赖倒置原则
- 程序要依赖于抽象接口,不要依赖于具体实现。(即面向接口编程)
- 注重抽象而非实现,降低模块之间的耦合
开闭原则
- 函数和模块应当对扩展开放,对修改关闭
- 如果要进行修改,尽量通过软件实体的行为实现变化,而不是通过修改已有的代码
迪米特法则
- 一个对象应当对其他对象有尽可能少的了解
- 类与类关系越密切,耦合度越大
- 只和直接朋友通信
- 直接朋友:
- 对象中的成员变量
- 对象中的方法参数
- 对象中方法的返回值
合成复用原则
- 尽量使用合成/聚合的方式,而不是使用继承
- 如果在B中要使用A,有如下几种方式
- 依赖: 将A作为参数传入B中方法
- 聚合: 在B中定义了A类,用set方法将A传入
- 组合: 在B中直接有A类,B创建好A也就创建好