七大设计原则
单一职责原则
- 一个类应该只负责一项职责。当A类负责两个不同职责:职责1、职责2。当职责1需求改变时,可能造成职责2执行错误,此时应该将A类颗粒度分为A1类、A2类。
接口隔离原则
- 客户端不应该依赖它不需要的接口。B继承A。但是B只用到A用A1方法,没用到A2方法。需要将接口A进行拆分接口A1、接口A2。B继承A1。
依赖倒转原则
- 高层模块不应依赖底层模块,二则都应该依赖抽象,抽象是指接口或抽象类
- 面向接口或抽象编程,指定规范,具体细节由实现类完成
里氏替换原则
- 子类中尽量不要重写父类
- 适当情况下可以通过聚合、组合、依赖来解决问题
开闭原则
- 编程中最基础最重要的原则
- 抽象构建框架,实现扩展细节
- 软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是修改已有代码
- 使用设计模式的目的,就是遵循开闭原则
最少知道原则(迪米特法则)
- 一个类对自己依赖的类知道的越少越好,尽量将逻辑分装在内的内部。对外除提供public方法,不泄露任何信息。
- 只与直接朋友通信。成员变量、方法参数、方法返回值的中类是直接朋友。局部变量中的类不是直接朋友。就是说陌生类最要不要以局部变量的形式出现在类内部。
合成复用原则
- 尽量使用合成、聚合方式,而不是使用继承。
UML类图
泛化(Generalization)
继承使用空心三角形+实线表示。鸟类继承抽象类动物。
实现(Realization)
使用空心三角形+虚线表示。大雁需要飞行,就要实现飞()接口
依赖(Dependency)
依赖关系用虚线箭头表示。即A类有方法的参数是B类。
关联(Association)
A类关联了B类。(聚合组合是特殊的关联)
关联关系用实线箭头表示。
聚合(Aggregation)
表示一种弱的‘拥有’关系,即has-a的关系。即A类有个成员变量B,这个B是通过set方法设置进来的。
聚合关系用空心的菱形+实线箭头表示。
组合(Composite)
组合是一种强的‘拥有’关系,是一种contains-a的关系,即A类有个成员变量B,当A实例化时,B即实例化。比如构造里面包含B参数。或者成员变量直接new。
组合关系用实心的菱形+实线箭头表示。
最后
以上就是呆萌服饰最近收集整理的关于设计模式:七大设计原则、UML类图七大设计原则UML类图的全部内容,更多相关设计模式内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复