设计模式总结 - UML关系总结
1.面向对象关注的点:
可维护:代码是可以维护的
可扩展:方便扩展
可复用:代码可复用
抽象类,封闭不变的部分,抽象易变的部分
封装,继承和多态把程序的耦合度降低
2.UML中的关系有
继承,实现接口,关联(1对1),聚合(1对多),组合(构造函数中实现),依赖(构造函数参数中加入依赖部分)
关联关系:1对1
class T1 { T2 t2; }
不一定体现在非要构造一个字段,也可以是一个方法中需要使用关联的对象。
聚合关系:1对多的关系
Class T1 { List<T2> t2; T2[] t2; }
组合关系:表示是不可缺失的一部分
Class T1 { T2 t2; public T1() { t2=new T2(); } }
依赖关系
Class T1 { public T1(T2 t2,T3 t3){} }
总结示例:
class T1 { T2 t2; //关联1:1 List<T2> t2s; //聚合1:n public void CreateT2(T2 t3) { this.t2 = t3; //依赖 } public T1() { t2 = new T2(); //组合,强耦合 } } class T2 { }
3.单一职责
就一个类而言,只有一个引起它变化的原因
意思是不需要重新写代码改变这个类,职责需要单一
一个类的职责过多,等于将这些职责耦合在一起。一个职责的变化,可能会抑制这个类完成其他职责的能力。
4.开放封闭原则
软件实体(类,模块,函数)应该可以扩展,但是不可以修改。
对扩展开放,对修改封闭
5.依赖倒转原则
抽象不依赖于细节,细节依赖于抽象
面向接口编程,不要对实现编程
6.里氏替换原则
7.接口隔离原则:一个类对另外一个类的依赖建立在最小的接口上


浙公网安备 33010602011771号