框架(Framework)的复用
框架的复用:浏览器→写插件
{白盒框架:通过继承来扩展黑盒框架:通过委派来扩展

面向复用的设计模式
- Adapter(适配器模式):当新的客户端的输入或输出要求与老的方法不一致时,新建一个适配器,改变参数的样式,再委派给老的方法
- Decorator(装饰器模式):将某些功能通过委派的方式委派给同一个接口下的其他实现类
注:最后一行代码一共有4个Stack
- Facade(外观模式):当执行有固定逻辑顺序的几个方法是,通过外观模式一次性按固定的逻辑顺序调用这些方法(也可以一次性调用不同的ADT的方法)
- Strategy(策略模式):通过委派传入不同的ADT来以不同的实现方法完成目的
- Template method(模板模式):继承与重写→白盒框架
父类 a = new 子类()
- Iterator(迭代器模式):JAVA已写好

可维护性的度量与构造原则
维护:纠错性、适应性、完善性、预防性
目标:easy to change(Maintainability可维护性、Extensibility可扩展性、Flexibility灵活性、Adaptability可适应性、Manageability可管理性、Supportability支持性)
OO设计原则:SOLID、GRASP
OO设计模式:
⎩⎨⎧FactoryMethodPattern,BuilderPatternBridgePattern,ProxyPatternMementoPattern,StatePattern
高内聚低耦合
信息隐藏,分离关注点
可维护性指数

SOILD原则
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧SRP原则(单一责任原则):一个方法只实现一个功能,不是多于一个1个的原因改代码OCP原则(开放−封闭原则):模块可扩展,在比改变内部的情况下扩展LSP原则(Liskov替换原则):子类型可以无条件的替换父类型DIP原则(依赖转置原则):一个类依赖于抽象类而不是具体的类ISP原则(接口聚合原则):将大的接口拆分成小的接口(类从实现一个变成实现多个)