开放-封闭原则(The Open-Closed Principle,简称OCP): 在软件设计模式中,这种不能修改,但可以扩展的思想也是最重要的一种设计模式。是指软件实体(类、模块、函数等)应该可以扩展,但是不可修改。
- 对于扩展是开放的(Open for extension)
- 对于更改是封闭的(Closed for modification)
面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。
开放-封闭原则是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护、可扩展、可复用、灵活性好。