OCP(开闭原则,Open-Closed Principle) - 设计模式的第一大原则,它的潜台词是:控制需求变动风险,缩小维护成本。
一个软件的实体应当对扩展开放,对修改关闭。说到底,开闭原则除了表面上的可扩展性强以外,在企业中更看重的是维护成本。当我们写完的代码,不能因为需求变化就修改。我们可以通过新增代码的方式来解决变化的需求。
DIP(依赖倒转原则,Dependence Inversion Principle) - 依赖倒置的潜台词是:面向抽象编程,解耦调用和被调用者。
要针对接口编程,不要针对实现编程。
如果 A 中关联 B,那么尽量使得 B 实现某个接口,然后 A 与接口发生关系,不与 B 实现类发生关联关系。
LOD(迪米特法则,Law Of Demeter) - 迪米特原则的潜台词是:不和陌生人说话,有事去中介。
要求尽量的封装,尽量的独立。
尽量的使用低级别的访问修饰符。这是封装特性的典型体现。我们使用尽量低的访问修饰符,让外界不知道我们的内部。这也是面向对象的基本思路。这是迪米特原则的一个特性,无法了解类
更多的私有信息。
另外,迪米特原则要求类之间的直接联系尽量的少,两个类的访问,通过第三个中介类来实现。