扩展的方式有很多种,常见的有基类/抽象类继承、接口实现、回调函数、虚函数重载、组合等。
l
推荐(相对)遵守敏捷开发(面向对象设计)基本原则:
a.
SRP(单一职责原则)
就一个类而言,应该有仅只有一个引起它变化的原因。
b.
OCP(开放封闭原则)
软件实体(类、模块、函数等)应该是可扩展的,但是不可修改
c.
LSP(Liskov替换原则)
子类型必须能够替换掉它的基类型。
d.
DIP(依赖倒置原则)
抽象不应该依赖于细节。细节应该依赖于抽象。
e.