桥接是将抽象与实现分离,使二者可以独立变化。
主要解决的问题:在多种变换可能下,使用继承会产生类爆炸的问题,扩展起来不灵活
何时使用:
实现系统有多个角度分类每一种角度都可能产生变化
如何解决:
把诸多的角度分类分离出来,然他们独立变化,减少之间的耦合。
优点:
抽象和实现的分离,优秀扩展能力,实现细节,实现细节对客户的透明
缺点:
增加系统理解与设计的难度,要求开发者对抽象进行设计和编程
类图展示:

关键代码截图:

上图中的Shape为一个使用接口中的抽象方法的抽象类,对象为接口类型的DrawApi,Demo程序调用了继承这个Shape抽象类的Circle实体类,其中含有draw方法,通过传入Circle构造方法中的对象来实现接口的方法,因此Demo程序为:

网友评论