软工概念
面向对象特征
- 封装 Encapsulation 封装:限制对某些信息的访问
- 交互 Interaction 交互:通过过程调用或类似的协议
- 多态 Polymorphism 多态:在运行时选择具体的操作
- 继承 Inheritance 继承:对共享的功能保持唯一的接口
面向对象的缺点
- 操作太多对象
- 操作太多交互
- 与表现有关的职责被严重分开,使系统难以理解
- 难以捕捉相关设计所属的族(仅仅类型经常不足以,需要设计模式介入)
- 纯 oo 设计导致系统巨大且扁平
- 需要额外的 structure 和 discipline
解决方法