设计模式-桥接模式

首先是感谢知识分享

1.场景

对不类型的不同品牌的手机,进行操作(比如,开,关,打,电话等操作)
注解:首先是场景抽象能力,画出结构图, 然后出现出代码来。

传统方式:从结构图中抽象出代码来,这边是体现,程序设计者的能力的地方,下面是传统的方式。

在这里插入图片描述

  • 上面的类图,存在的问题
  • 1.扩展问题,增加手机样式,需要增加每个品牌的样式。
  • 2 单一职责问题,增加手机样式,同时需要增加所有品牌的手机。(更多的侧重维护成本)

2 .桥接模式概念

  • 桥接模式主要是解决,多层继承的问题 父类,子类,子子类 多层继承问题,当父类添加一个功能时,子类,子子类,需要修改。
  • 桥接模式 是将实现和抽象 分层来实现 ,使两个层次独立开来。
  • 桥接模式是一种结构模式

3 .桥接模式结构图

类图如下:

  • 1.client 是入口类
  • 2.抽象类(Abstraction) 维护了implementor 两者是聚合的关系,充当桥接者。
  • 3.refinedAbstraction 是abstraction的子类
  • 4.Implementor 行为实现类的接口(类中,使用的都是接口 implementtor 接口类 定义参数)
  • 5.ConcreteImplementA 和ConcreteImplementsB 是具体的行为类。
  • uml 类图中,抽象类 abstraction 和接口 implementor 是 聚合关系,调用和被调用的关系。

其实上图中图示表达不是很明确,下面是 手机实例类图:

  • 注意到,phone 就是 abstration ,而 Brand 是implementor 接口类,整个过程中,brand 作为参数传递(即桥接者来执行)

4. 桥接模式代码

后续补充

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

利剑 -~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值