日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

设计模式——桥梁模式

發布時間:2025/3/21 asp.net 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式——桥梁模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 橋梁模式定義

    將抽象和實現解耦,使得二者可以獨立變化

所謂耦合,就是兩個實體的行為的某種強關聯。而將它們的強關聯去掉,就是耦合的解脫,或稱脫耦。在這里,脫耦是指將抽象化和實現化之間的耦合解脫開,或者說是將它們之間的強關聯改換成弱關聯。
將兩個角色之間的繼承關系改為聚合關系,就是將它們之間的強關聯改換成為弱關聯。因此,橋梁模式中的所謂脫耦,就是指在一個軟件系統的抽象化和實現化之間使用組合/聚合關系而不是繼承關系,從而使兩者可以相對獨立地變化。這就是橋梁模式的用意。

  • 橋接模式角色
    1.Abstraction 抽象化角色
    主要職責是定義出該角色的行為,同事保存一個隊實現話角色的引用,一般為抽象類
    2.Implementor實現化角色
    接口或者抽象類,定義必須的行為和屬性
    3.RefinedAbstracction修正抽象畫角色
    它引用是實現化角色對抽象化角色進行修正。
    4.ConcreteImplementor具體實現化角色
    他的實現接口或者抽象類定義的方法和屬性

  • 代碼實例

public abstract class Abstraction {protected Implementor impl;public Abstraction(Implementor impl){this.impl = impl;}//示例方法public void operation(){impl.operationImpl();} } public class RefinedAbstraction extends Abstraction {public RefinedAbstraction(Implementor impl) {super(impl);}//其他的操作方法public void otherOperation(){} } public abstract class Implementor {/*** 示例方法,實現抽象部分需要的某些具體功能*/public abstract void operationImpl(); } public class ConcreteImplementorA extends Implementor {@Overridepublic void operationImpl() {//具體操作}} public class ConcreteImplementorB extends Implementor {@Overridepublic void operationImpl() {//具體操作}}

- 使用場景

  考慮這樣一個實際的業務功能:發送提示消息。基本上所有帶業務流程處理的系統都會有這樣的功能,比如OA上有尚未處理完畢的文件,需要發送一條消息提示他。

  從業務上看,消息又分成普通消息、加急消息和特急消息多種,不同的消息類型,業務功能處理是不一樣的,比如加急消息是在消息上添加加急,而特急消息除了添加特急外,還會做一條催促的記錄,多久不完成會繼續催促;從發送消息的手段上看,又有系統內短消息、手機短信息、郵件等。

轉載于:https://www.cnblogs.com/boycelee/p/8683506.html

總結

以上是生活随笔為你收集整理的设计模式——桥梁模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。