设计模式的原则
2017-10-18 18:29
204 查看
引用大佬的blog:http://blog.csdn.net/lovelion/article/details/17517213
读完之后写了一些自己理解的东西:
1. 为了满足开闭原则,需要对系统进行抽象画设计,抽象化是开闭原则的关键。
java中,可以为系统定义一个相对稳定的抽象层,而将不同的实现行为移到具体的实现层中完成。
一个接口与多个实现类
里氏替换原则是实现开闭原则的重要方式之一
2. 所有引用父类的地方必须能透明地使用其子类的对象
依赖倒转原则
3.抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程
要求我们在程序代码中传递参数时活在关联关系中,尽量引用层次高的抽象层类
即使用接口和抽象类进行类型声明/参数类型声明/方法返回类型声明,以及数据类型的转换等,
而不要用具体类来做这些事情
接口隔离原则:
4.使用多个专门的接口,而不是使用单一的总接口,即客户端不应该依赖哪些它不需要的接口
每一个接口应该承担一种相对独立的角色,不干不该干的事情,该干的事都要干
合成复用原则:
5.尽量使用对象组合,而不是继承来达到复用的目的
---
一般而言,如果两个类之间是"has A"的关系应使用组合或聚合,如果是"IS A"的关系可以使用继承。
has A 一般是具有某种职责如果不通过imp则会使用该接口的引用来使该对象有该职责
6.迪米特法则:一个软件实体应当尽可能少地与其他实体发生相互作用
实例中的应用:ide中的各种插件会有相关的联系:比如按钮点击之后会有窗口,音量等其余控件的
状态变化--->解决: 使用一个中间类,持有所有控件的引用,对于某个控件的改变,只会在该类中
改变其他控件的状态,而不像原来,一个控件的影响写在该控件的操作逻辑中
读完之后写了一些自己理解的东西:
1. 为了满足开闭原则,需要对系统进行抽象画设计,抽象化是开闭原则的关键。
java中,可以为系统定义一个相对稳定的抽象层,而将不同的实现行为移到具体的实现层中完成。
一个接口与多个实现类
里氏替换原则是实现开闭原则的重要方式之一
2. 所有引用父类的地方必须能透明地使用其子类的对象
依赖倒转原则
3.抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程
要求我们在程序代码中传递参数时活在关联关系中,尽量引用层次高的抽象层类
即使用接口和抽象类进行类型声明/参数类型声明/方法返回类型声明,以及数据类型的转换等,
而不要用具体类来做这些事情
接口隔离原则:
4.使用多个专门的接口,而不是使用单一的总接口,即客户端不应该依赖哪些它不需要的接口
每一个接口应该承担一种相对独立的角色,不干不该干的事情,该干的事都要干
合成复用原则:
5.尽量使用对象组合,而不是继承来达到复用的目的
---
一般而言,如果两个类之间是"has A"的关系应使用组合或聚合,如果是"IS A"的关系可以使用继承。
has A 一般是具有某种职责如果不通过imp则会使用该接口的引用来使该对象有该职责
6.迪米特法则:一个软件实体应当尽可能少地与其他实体发生相互作用
实例中的应用:ide中的各种插件会有相关的联系:比如按钮点击之后会有窗口,音量等其余控件的
状态变化--->解决: 使用一个中间类,持有所有控件的引用,对于某个控件的改变,只会在该类中
改变其他控件的状态,而不像原来,一个控件的影响写在该控件的操作逻辑中
相关文章推荐
- IOS设计模式的六大设计原则之单一职责原则(SRP,Single Responsibility Principle)
- 设计模式六大原则(4):接口隔离原则
- 设计模式六大原则(1):单一职责原则
- 设计模式——开放封闭原则
- 【小话设计模式】面向对象设计原则
- android设计模式之单一职责原则
- 设计模式中重要的几条原则复习
- 设计模式六大原则
- 设计模式(基础篇)-------软件设计七大设计原则(续二)
- 设计模式六大原则----------里氏替换原则
- 设计模式六大原则(4):接口隔离原则
- 1 面向对象设计模式与原则
- java23种设计模式与7大设计原则
- 设计模式概要 & 六原则一法则
- java模式设计原则
- [置顶] 设计模式之六大原则——单一职责原则(SRP)
- 设计模式六大原则(5):迪米特法则
- 设计模式之6大设计原则
- 设计模式六大原则
- 设计模式六大原则(4):接口隔离原则