开放-封闭原则:说是软件实体(类、模块、函数等等)应该是可以扩展,但是不可修改的。
这块的意思就比较清楚了,我们在设计软件中应该让我们的代码具有同类项的扩展特性,但是同类项的扩展仅仅是扩展而不是多方联系。换句话说对程序的改动是通过增加新代码进行的,而不是改进现有代码。开放-封闭原则是面向对象设计的核心所在,遵循这个原则可以带来面向对象技术的巨大好处,也就是可维护、可扩展、可复用、灵活性好。开发人员一应该仅对程序中频繁出现的变化做抽象处理。《大话设计模式-程杰》考虑以上对于开放封闭原则的描述,我们在代码中应该如何实践?首先要有扩展的特性,扩展那么我们势必要抽象接口,然后让类似的类去实现具体的功能,这样一处修改不会牵涉到其他的类。因此我们在写代码的时候要善于提取公因式,并将公因式以接口形式保留。对于新功能直接通过新增接口或者通过新类去实现。