zoukankan      html  css  js  c++  java
  • [Design] Bridge Pattern

      结构模式 

      结构模式描述如何将类或者类的对象结合在一起形成更大的结构。
      结构模式描述两种不同的东西:类与类的实例。结构模式可以分为:类的结构模式和对象的结构模式两种。
      类的结构模式:类的结构模式使用继承来把类、接口等组合在一起,以形成更大的结构。类的结构模式是静态的,比如类形式的适配器模式。
      对象的结构模式:对象的结构模式描述怎么样把不同类型的对象组合在一起,以实现新的功能的方法。对象的结构模式是动态的。比如代理人模式。

    --------------------------------------------------------------------------------------

     桥梁(Bridge)模式

      桥梁模式是对象的结构模式,又称为柄体模式或接口模式。( ABeen 更喜欢柄体模式这名,更形象的表达其意图)。抽象化角化就像是一个水杯的手柄,而实现化角色和具体实现化角色就像是水杯的杯身。手柄控制杯身,由此得名“柄体模式”。

      桥梁模式的用意是将抽象化和实现化脱藕,使得二者可以独立地变化。

      桥梁模式所谓的脱藕,实际上指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使这两者可以相对独立的变化。桥梁模式多用在抽象部分和实现部分都多变的情况下。桥梁模式很好的符合开闭原则和组合复用原则。

    桥梁模式结构
    1.    抽象化角色
       抽象化给出的定义,并保存一个对实现化对象的引用。
    2.    修正抽象化角色
       扩展抽象化角色,改变和修正父类对抽象化的定义。
    3.    实现化角色
      给出实现化角色的接口,必须指出的是这个接口不一定和抽象化角色的接口定义相同,这两个接口可以非常不一样。实现化应当只给出底层操作接口,而抽象化角色应当只给出基于底层操作的更高一层的操作。
    4.    具体实现化角色
      给出实现化角色接品的具体实现。

  • 相关阅读:
    java学习之—栈
    java中的a++与++a的区别
    java学习之—数组的曾删改查
    Mybatis #{ } 和 ${ } 区别
    详解Windows不重启使环境变量修改生效(经典)
    laravel artisan常用命令
    Laravel 出现 No application encryption key has been specified.
    springboot的几种启动方式
    Angular 服务的简单使用
    Angular-1.6 路由 简单使用
  • 原文地址:https://www.cnblogs.com/abeen/p/1437655.html
Copyright © 2011-2022 走看看