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

    优点:

      ① 分离抽象接口及其实现部分。提高了比继承更好的解决方案。

      ② 桥接模式提高了系统的可扩充性,在两个变化维度中任意扩展一个维度,都不需要修改原有系统。

    缺点:

      ① 桥接模式的引入会增加系统的理解与设计难度,由于聚合关联关系建立在抽象层,要求开发者针对抽象进行设计与编程。

      ② 桥接模式要求正确识别出系统中两个独立变化的维度,因此其使用范围具有一定的局限性。

    适用范围:

      ① 系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性

      ② 对于那些不希望使用继承或因为多层次继承导致系统类的个数急剧增加的系统,桥接模式尤为适用。

     

    客户端:

      Color white = new White();  //创建颜色(白色)
      Shape square = new Square();  //创建图形(正方形)


      square.setColor(white);  //为图形设置颜色
      square.draw();  //打印图形 :白色的长方形

    一句话概括:将抽象部分与它的实现部分分离,使它们都可以独立地变化

    /**
      * Shape (包含Color属性、draw()方法(调用Color的方法);)    Color (含上色方法 bePaint(String shape);)
      * Circle  Rectangle  square                          White  Gray  Black
      */
  • 相关阅读:
    docker logs-查看docker容器日志
    初探 Elasticsearch,学习笔记第一讲
    Centos7 环境下设置固定IP
    强制使用索引查询方法
    linux 常用命令
    MySQL 调优
    docker 常用命令
    mysql 创建临时表
    mysql or in union all 使用方法
    mysql 创建存储过程
  • 原文地址:https://www.cnblogs.com/shushengyou/p/10221371.html
Copyright © 2011-2022 走看看