软件构造随笔3

第九章

Programing for/with reuse

软件构造随笔3白盒复用:源代码可见,可修改和扩展
黑盒复用:源代码不可见,不能修改

重用类的方法:继承,委托
委托:将一个实体的任务委派给另一个实体。

框架:一组具体类、抽象类、及其之间的连接关系
开发者根据framework的规约,填充自己的代码进去,形成完整系统

白盒框架,通过代码层面的继承进行框架扩展
黑盒框架,通过实现特定接口/delegation进行框架扩展

子类型多态:客户端可用统一的方式处理不同类型的对象

软件构造随笔3
软件构造随笔3

反协变逆变:父类型到子类型,更具体的规约,不变或更抽象的参
数类型

软件构造随笔3
软件构造随笔3
CRP 原则:
Composite over inheritance principle
“委托”发生在 object 层面,而“继承”发生在 class 层面

接口的组合:
使用接口定义系统必须对外展示的不同侧面的行为
接口之间通过 extends 实现行为的扩展(接口组合) 类 implements 组合接口从而规避了复杂的继承关系
白盒框架,通过代码层面的继承进行框架扩展
黑盒框架,通过实现特定接口/delegation 进行框架扩展
白盒框架的原理与实现:继承
黑盒框架的原理与实现:委派

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91499 人正在系统学习中

来源:Leeci_

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月7日
下一篇 2022年5月7日

相关推荐