zoukankan      html  css  js  c++  java
  • 设计模式(8)-桥接模式

    桥接模式介绍

    这个模式其实我觉得是用的最多并且最广泛的,如果你需要有两个实现能够相互独立的变化,并且互不影响,它们的实现与抽象部分解耦,则可以使用桥接模式。

    桥接模式优点

    1. 两个维度的变化,不需要更改主系统,提高了扩展性,符合开闭原则。
    2. 这样设计对比工厂方法而言,极大的减少了子类的个数,一个相乘,一个是相加,结果可想而知。

    桥接模式缺点

    1. 增加系统设计的难度,关联的关系建立在抽象层。

    实现

    场景:华为手机P40,Mate40用到了64RAM,128RAM,256RAM。比如如果用工厂模式的话,首先抽象手机类,再抽象RAM类,要实现不同的类别的手机,就需要分别继承各个RAM类,这样最后就是6(2 * 3)个,
    如果用桥接模式则是5(2 + 3)个就可以实现。

    1. 首先抽象手机型号:

    2. 然后分别实现手机型号:

    3. 然后抽象RAM类,建立关联关系:

    4. 实现RAM类:

    5. 客户端实现及结果:

    GitHub源码地址:https://github.com/woniuSnail/DesignPattern.git

  • 相关阅读:
    头脑王者 艺术,电影,体育,时尚,动漫
    头脑王者 音乐
    头脑王者 地理
    头脑王者 历史,军事
    头脑王者 文学
    Jenkins project
    sql server drop login failed
    devenv.exe 编译Solution
    Jenkins
    头脑王者
  • 原文地址:https://www.cnblogs.com/snailZz/p/13296262.html
Copyright © 2011-2022 走看看