设计模式中组合大于继承原则带来的好处
这里写一个例子:
在某家公司里的员工分为经理,工作者和销售者
使用继承的方式
代码参考:下的/src/main/java/com/hfi//
使用组合的方式
代码参考:
下的/src/main/java/com/hfi//
可以看到组合优于继承的两点:
1. 组合不破坏 Sales的封装性
2. 支持扩展 扩展类 比如增加组合类 不会对 Sales造成影响
如增加一个 管理序列 说明有一个管理序列的Role 还有一个业务序列的Role 就很灵活
参考:设计模式之七大基本原则