天天看点

GOF23设计模式之桥接模式理解



桥接莫斯(bridge)

     商场系统中常见的商品分类,以电脑为类,如何良好的处理商品分类销售

GOF23设计模式之桥接模式理解

如果我们在java中使用普通的单继承实现这个图像中的结构会出现下列的问题

     扩展性问题(类个数膨胀问题)

         如果要增加一个新的电脑类型:智能手机,则要增加各个品牌下面的额类

         如果要增加一个新的品牌,也要增加各种电脑类型的类

     违反单一职责原则:

         一个类:联想笔记本,有两个引起这个类变化的量

以场景分析:

         商场系统中常见的商品分类,以电脑为类,如何良好的处理商品分类销售

         这个场景中有两个变化的维度:类型和品牌

GOF23设计模式之桥接模式理解
GOF23设计模式之桥接模式理解
GOF23设计模式之桥接模式理解
GOF23设计模式之桥接模式理解

我们通过两个维度的表结构来表示电脑的分类。

桥接模式的核心要点:

     处理多层继承结构,处理多个维度变化的场景,将各个维度设计成独立的继承结构,使得各个维度可以独立的扩展在抽象层建立关联。

桥接模式应用的场景:

  • JDBC驱动程序
  • AWT中的Peer结构
  • 银行日志管理

    格式分类:操作日志,交易日志,异常日志

    距离分类:本地记录日志,异地记录日志

  • 人力资源系统中的奖金计算模块

    奖金类型:个人奖金,团体奖金,激励奖金

    部门分类:人事部本,销售部门,研发部门

  • OA系统中的销售处理:

    业务类型:普通消息,加急消息,特急消息

    发送消息方式:手机短信,系统内消息,邮件。

继续阅读