课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
桥接模式是大多数软件编程开发程序员在开发软件的时候会经常用到的一种软件设计模式,下面我们就简单来了解一下,桥接模式应用实践基础知识分享。
1、描述
把一个事物的多个维度剥离出来,通过组合方式来达到灵活设计的目的,Java中,我们一般是通过对象引用来替换继承关系,从而将抽象和实现解耦合。
桥接模式,可能大家只是不了解这个名称,但是我们的实际开发习惯基本都是有使用的。例如spring的注入功能(别说没用过哈)。所以说学习优秀的框架,就算没有去熟悉它的源码,精通它的底层逻辑,仅仅只是简单的使用都会在潜意识下提高我们的代码水平。
2、模式结构与实现逻辑
抽象化类:业务抽象类。引用不同维度的接口对象。在日常开发中我们习惯忽略这个类,改进为业务接口类,需引用的接口对象直接在扩展抽象化类直接引用。
扩展抽象化类:抽象化类的子类,就是日常开发中的业务实现类。
实现化类:维度接口类,一般有多个,一个事物维度对一个该类。
具体实现化类:实现化类的实现类。
本质的实现方式就是:业务类(扩展抽象化类)中引用其余业务类的父类或者接口(实现化类),在构造业务类时,根据需求动态传入其余业务类的具体实现类(具体实现类)。
3、实战代码
实战事例说明:
模拟购买私有数字证书业务,私有数字证书分为RootCA证书、SubCA证书、订户证书三类,购买方式分为支付宝支付、微信支付两种。如果业务实现类通过继承或者实现接口方式来实现逻辑,就不考虑还有其他业务情况,就只是满足每种支付支付方式和每种证书类型创建就只少需要6个实现类来完成目标,显然这样会导致系统暴增。然后我们通过桥接模式只需要一个类就解决了。
4、日常开发习惯代码
作者平时开发代码时,是没有BuyService这个抽象类的,在平时开发中每个业务类都是先定义接口类,再进行实现,如果为了规范实现化类而抽象化出抽象类,会显得代码太过臃肿。
5、适用性
当一个业务存在多个维度且维度会独立变化的时候。
业务不希望使用继承或因为多层次继承而导致系统类暴增时。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。