HIT 软件构造 软件构造技术 (面向复用--设计可复用库与框架)

设计可复用的库和框架

library和framework被称为系统层面的复用,是因为它们不仅定义了可复用的接口/类,并且定义了这些类之间的交互关系、调用关系

术语

API:应用编程接口,库和框架的接口
client:使用api的code
plugin:定制框架的客户端代码
extension point:框架内预留的空白,开发者开发出符合接口要求的代码,框架可调用,从而相当于开发者扩展了框架的功能
protocol:客户和api之间预期的交互序列
callback:框架将调用一个插件方法来访问定制功能
lifecycle method:根据协议和插件状态按顺序调用的回调方法

API设计

一个好的api
  1. api should do one thing and do it well
    有一个好的名字
  2. api should be as small as small
  3. implementation should not impact api
  4. documentation matters
  5. consider performance consequence
  6. api must coexist peacefully with platform
  7. classes should be immutable unless there’s a good reason to do otherwise
  8. subclass only where it makes sense
  9. api should fail fast: report errors as soon as possible

framework设计

白盒框架

通过继承和overriding实现,使用的是模板模式

黑盒框架

通过implementing接口实现,使用的是策略模式和观察者模式
在代码内部,框架会使用delegation调用这个接口的实现类的实例的方法
欢迎关注公众号BBIT
让我们共同学习共同进步!

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值