Java 白盒框架与黑盒框架

白盒框架

白盒框架是通过代码层面的继承进行框架扩展
代码层面:继承动态绑定
白盒框架基于继承,为具体类,当我们需要的类的功能和白盒类中的功能类似时,我们可以继承白盒中的非private成员变量,增加或者重写或者重载来实现我们的功能。白盒中我们可以查看成员变量和实现,因此是透明的。

黑盒框架

黑盒框架通过实现特定接口/delegation进行框架扩展
黑盒框架基于委托,为接口类,我们只需要了解黑盒中每个方法的功能,在需要的时候创建类,委托其中的方法实现我们的功能。黑盒我们无法了解具体方法是如何实现的,因此是不透明的。

【两者对比】

白盒框架利用subclassing:
1 允许扩展每一个非私有方法
2 需要理解父类的实现
3 一次只进行一次扩展
4通常被认为是开发者框架
黑盒框架使用委派中的组合composition:
1 允许在接口中对public方法扩展
2 只需要理解接口
3通常提供更多的模块
4 通常被认为是终端用户框架,平台

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值