linkin大话设计模式--桥接模式


桥接模式是一种结构化模式,他主要应对的是:由于实际的需要,某个类具有2个或者2个以上维度的变化,如果只是使用继承将无法实现功能,或者会使得设计变得相当的臃肿。我们为了不一直忙于定义子类,就可以使用桥接模式。桥接模式就是把变化部分抽象出来,使变化部分与主类部分分离开来,从而将多个维度的变化彻底分离。最后提供一个管理类来组合不同维度上的变化,通过这种组合来满足业务的需要。

代码如下:

<span style="font-size:14px;">//这里继承一个抽象类   其中的维度就是不同的面条
public class PorxyNoodle1 extends AbstractNoode{public PorxyNoodle1(Peppery style) {super(style);}@Overridepublic void eat() {System.out.println("这里是第1种面条..."+super.style.style());}public static void main(String[] args) {AbstractNoode noodel1 = new PorxyNoodle1(new PepperyStyle1());noodel1.eat();AbstractNoode noodel2 = new PorxyNoodle1(new PepperyStyle2());noodel2.eat();AbstractNoode noodel3 = new PorxyNoodle2(new PepperyStyle1());noodel3.eat();AbstractNoode noodel4 = new PorxyNoodle2(new PepperyStyle2());noodel4.eat();}
}// 继承了实现了一个维度上面的变化的一个抽象类 这样子具体的另外一个维度上面的实现就是这里不同的类名里面不同的逻辑
class PorxyNoodle2 extends AbstractNoode{public PorxyNoodle2(Peppery style) {super(style);}@Overridepublic void eat() {System.out.println("这里是第2种面条..."+super.style.style());}}//其中的一个维度上的接口(辣椒味道)  只要是这个维度里面有变化 直接修改或者添加具体的实现类就可以
interface Peppery{public String style();
}class PepperyStyle1 implements Peppery{@Overridepublic String style() {return "这里是辣椒风格1...";}}class PepperyStyle2 implements Peppery{@Overridepublic String style() {return "这里是辣椒风格2...";}}abstract class AbstractNoode{//这里的这个抽象类里面这个属性其实就是一个维度   一会在new对象的时候这个属性会作为一个参数传入构造器 除了new时根据不同的类型外又实现了一个维度上的独立public Peppery style;public AbstractNoode(Peppery style) {this.style = style;}public abstract void eat();}
</span>

































linkin大话设计模式--桥接模式相关推荐

  1. linkin大话设计模式--常用模式总结

    linkin大话设计模式--常用模式总结 一,常用设计模式定义 Abstract Factory(抽象工厂模式):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. Adapter( ...

  2. linkin大话设计模式--模板方法模式

    linkin大话设计模式--模板方法模式 准备一个抽象类,将部分逻辑以具体方法的形式实现,然后申明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不 ...

  3. 大话设计模式—桥接模式

    桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化.这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦.主要解决:在有多种可能会变化的情况下, ...

  4. linkin大话设计模式--代理模式

    代理模式是一种应用非常广泛的设计模式,当客户端代码需要调用某个对象的时候,客户端并不关心是否可以准确的得到这个对象,他只要一个能够提供该功能的对象而已,此时我们就可以返回该对象的代理.总而言之,客户端 ...

  5. linkin大话设计模式--简单工厂

    linkin大话设计模式--工厂方法 什么是工厂方法:将多个类对象交给工厂来生成的设计被称为简单工厂模式,个人认为主要是为了实现解耦,在代码重构的时候会很重要. 代码如下: public class ...

  6. Python设计模式-桥接模式

    Python设计模式-桥接模式 基于Python3.5.2,代码如下 #coding:utf-8class Shape():name = ""param = "" ...

  7. 【学习笔记】ABAP OOD设计模式 - 桥接模式

    ABAP OOD设计模式 - 桥接模式 整理转自-<SAP ABAP 面向对象程序设计(原则.模式及实践)> 桥接模式又称为桥梁模式,在程序开发中,采用不同的维度分解一系列对象,然后采用组 ...

  8. 跟着ZHONGHuan学习设计模式--桥接模式

    转载请注明出处! ! !http://blog.csdn.net/zhonghuan1992 全部配套代码均在github上:https://github.com/ZHONGHuanGit/Desig ...

  9. 2.设计模式-桥接模式

    文章目录 一.使用场景 二.实现方法 三.优势与劣势 四.经典案例 本文笔记来自于: 狂神的设计模式 桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化.它是一种对象结构模型,又称为柄体( ...

最新文章

  1. JS+Canvas的棋盘游戏和Java的动态结合
  2. 【Android 逆向】逆向修改游戏应用 ( 分析应用结构 | 定位动态库位置 | 定位动态库中的修改点 | 修改动态库 | 重打包 )
  3. Photoshop CS6将多张图片合成GIF动态图或视频,并将其保存导出
  4. python 第3天
  5. ubuntu12.04安装翻译软件stardict及卸载
  6. SLAM学习笔记-------------(二)初识SLAM
  7. Qt5中this application has requested the runtime to terminate it in an unusual way 无法运行问题的解决
  8. eclipse中文版界面设置黑色_Eclipse设置黑色主题
  9. 必收藏的九大塑料注塑成型技术及其特点
  10. 音视频开发系列(6)视频码率,帧率和分辨率
  11. Excel —— 录制宏
  12. 群晖Docker青龙面板部署方法V2.11.0
  13. X86汇编语言学习手记(1)
  14. 信息论 | 计算离散信源的信息量和熵的MATLAB实现(函数封装调用)
  15. 计算机实验小学教导主任,小学教导主任职责
  16. 【QA】VMware Workstation 不可恢复错误: (vmx)解决方案
  17. RC522详解(RC522arduino读写函数的详细解析)
  18. 相控阵天线方位角俯仰角matlab画图,基于相控阵天线测试的波束指向角计算方法...
  19. 避免优盘中毒或传播病毒的三个方法
  20. 辞职 跨考计算机,计算机专业辞职跨考古代文学,大家觉得可行性多高,求建议...

热门文章

  1. 一篇文章简述下 Vue3 相比 Vue2 有哪些 “与众不同”
  2. IELTS大作文写作思路和技巧
  3. 俩小时的活5分钟就能做完,用录音转文字工具做会议记录能有多简单?
  4. netflix_如何使用PIN锁定Netflix个人资料
  5. HTML实现美食菜单
  6. 互联网科技今年九个兴奋点:O2O深耕细作,可穿戴设备分水岭
  7. PROTEUS最新版本下载CSDN_游赚盒子最新版本下载-游赚盒子最新版app下载
  8. Adobe Photoshop CC 2015 for Mac、Win32、Win64及注册机序列号
  9. Vmware tools安装失败,提示无法自动安装...
  10. 00002 贪婪洞窟.003.2:技能