1.单一职责原则
一个类只有一个原则
比如:完成对二个数的四则运算
abstract class Operater{
public abstract int GetResult(int a,int b);
}
public class sum extends Operater{
public int GetResult(int a ,int b){
return a+b;
}
}
public class sub extends Operater{
public int GetResult( int a ,int b){
return a-b;
}
}
2.开——闭原则
对扩展开放,对更改封闭(是面向对象的 核心所在)
*静态类 中定义的方法,变量必须是静态的。
静态类中成员变量少,实现功能小。
重载:方法名相同,参数不同,既个数和类型不同。
重写:在不同的类中。
A依赖B,B的改变影响A的结果,通常依赖是单向的。
3.里氏代换原则
子类替换掉父类后,程序正常运行且结果跟预期相同,才允许继承。*拒绝子类有自己的个性,一旦子类有了“个性”,则与父类之间的关系难以调和,会让代码的耦合性变的扑簌迷离。
4.依赖倒转原则
针对接口编程,不针对实现编程。高层模块不依赖与底层模块,二者依赖抽象。
5.接口隔离原则
客户端不因该依赖它不需要的方法;类间的依赖关系应建立在最小的接口上。
6.合成——聚合复用原则
合成:强烈的关联,部分和整体的生命周期一样。整体对部分有支配权,包括创建和销毁(同生共死)。
聚合:部分和整体的普通关联。
优点:依赖少,条条框框限制少。几乎可以用到任何环境中去。容易实现,修改和扩展。
缺点:对象多,需要管理。
7.迪米特原则
又称最少知识原则(不要和陌生人说话)。
优点,有相当弱的类耦合。利于复用。只要有可能类就能设计成不变类。