回顾根据一个讲师学习做些总结:
----------------------------------------设计原则;
1.我们编程针对接口编程而不是针对实现编程:客户端这样只关心接口,而不关心对象的特定类型;
2.优先使用对象组合,而不是类的继承;继承在某种程度上破坏了封装性;
3.封装变化点:体现了类的聚合,把变化的地方封装以不至于牵一发而动全身;实现了松耦合;
4.使用重构得到模式----敏捷开发所提倡。
-----------------------------------------更为具体设计原则:
1.单一职责原则:一个类只能有一个引起它变化的原因,一个类只干一件事;
2.开闭原则:体现了封装和多态,对外开放,对内封闭;
3.里氏替换:子类必须能投替换他们的基类。针对接口编程;
4.依赖倒置:高层模块不应该依赖底层模块,二者都应该依赖抽象。针对接口;比如基于
设计模式的三层架构,层都该抽象出接口;
5.接口隔离:尽量应用专门的接口,将依赖建立在最小的接口,也就是一个接口只提供专门的方法,
无关的方法应放于其他接口中。
6.合成/聚合服用原则:优先使用组合而不是继承。聚合已有对象,使之成为新的成员。
7.迪米特法则:最小知识原则,软件实体应该尽量少的和其他软件实体发生相互作用。