桥接模式的注意事项和细节
1、实现了抽象 和 实现部分的分离,从而极大的提供了系统的灵活性,让抽象部分和实现部分独立开来,这有助于系统进行分层设计,从而产生更好的结构化系统;
2、对于系统的高层部分,只需要知道抽象部分和实现部分的接口就可以了,其他的部分由具体业务来完成;
3、桥接模式替代多层继承方案,可以减少子类的个数,降低系统的管理和维护成本;
4、桥接模式的引入增加了系统的理解和设计难度,由于 聚合关系 建立在抽象层,要求开发者针对抽象进行设计和编程;
5、桥接模式要求 正确识别出系统中两个独立变化的维度(抽象、实现),因此其使用范围有一定局限性,即需要有这样的应用场景。
6、对于不希望使用继承或因为多层次继承导致系统类的个数急剧增加的系统,桥接模式尤为使用;
常见的应用场景:
1、JDBC 驱动程序
2、银行转账系统
① 转账分类:网上转账,柜台转账,AMT 转账(实现层)
② 转账用户类型:普通用户,银卡用户,金卡用户...(抽象层)
3、消息管理
① 消息类型:即时消息、延时消息(实现层)
② 消息分类:手机短信、邮件消息,QQ消息...(抽象层)