2、设计原则:
1、找出应用中可能变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。简单来讲即,分离变化。把可能变化的部分封装起来,好让其他部分不受到影响。
2、为了交互对象之间的松耦合设计而努力。
3、针对接口编程,不针对实现编程。
4、多用组合,少用继承。
5、对扩展开放,对修改关闭。在设计类的时候不允许修改现有的类而提供一些扩展。
6、依赖倒置原则:要依赖抽象,不要依赖具体类。
a、变量不可以持有具体类的引用。
b、不要让类派生于一个具体类。
c、不要覆盖浮类中已实现的方法。
7、最少知识原则:只和你的密友谈话。在一个方法内部我们只应该调用属于以下范围的方法:
a、该对象本身。
b、被当做方法的参数被传递进来的对象。
c、此方法所创建或实例化的任何对象。
d、对象的任何组件。
也就是说某对象是调用其他方法的返回结果,不要调用该对象的方法。
例:
//不要采用这种原则 public float getTemp(){ return temp.getStation().getTemp(); } //应该采用这种原则 public float getTemp(){ return station.getTemp(); }
8、好莱坞原则:别调用我们我们会调用你。低层组件不要调用高层组件。由高层组件控制何时以及如何让低层组件参与。避免让高层组件和低层组件之间有环状的依赖。
9、一个类应该只有一个引起变化的原因。即一个类只应该有一个单一职责。如果一个类具有两个改变的原因,那随着将来变化的几率上升,当它真的改变时,就会有两个方面受到影响,出错的概率也会大大增加。