设计原则(1) : 开闭原则

对扩展开放, 对修改关闭.
  • 个人理解: 开闭原则是所有其他原则和设计模式的基础, 其核心思想就是抽象, 抽象事物或行为的共性, 并且用抽象限制细节, 就是所谓的面向接口编程. 抽象一旦定义一般情况下就不应当再做任何修改,否则就严重影响了程序的可维护性,所有依赖该抽象的实现必须随之修改!
  • 代码实践:
    • 定义动物的抽象接口, Animal
public interface Animal {
    String getName();
}
  • 定义实现类 Dog 实现抽象
public class Dog implements Animal{
    @Override
    public String getName() {
        return "狗";
    }
}

在这个例子中我们定义没种动物都必须有个名字, 但是这个名字具体叫什么这一细节由类自己实现, 即对动物必须有个名字这一点的修改是关闭的,对名称的定义这一点的扩展是开放的.

开闭原则是面向对象设计中最基础的设计原则,它指导我们如何建立稳定灵活的系统。开闭原则可能是设计模式六项原则中定义最模糊的一个了,它只告诉我们对扩展开放,对修改关闭,可是到底如何才能做到对扩展开放,对修改关闭,并没有明确的告诉我们。以前,如果有人告诉我“你进行设计的时候一定要遵守开闭原则”,我会觉的他什么都没说,但貌似又什么都说了。因为开闭原则真的太虚了。

参考 : https://blog.csdn.net/zhengzhb/article/details/7296944

github源码

你可能感兴趣的:(设计原则(1) : 开闭原则)