C#设计模式笔记-Bridge Pattern 桥接(结构型模式)

简介: 抽象不应该依赖于实现细节,实现细节应该依赖于抽象 动机(Motivation): 一些业务具有多个变化的角度。 意图(Intent): 将抽象部分于实现部分分离,使他们都独立地变化。 结构(Structure)   Bridge模式的几个要点: (1)Bridge模式使用“对象间的组合关系”解耦了抽象于和实现之间固有的绑定关系,使抽象和实现可以沿着各自的维度来变化 (2)所谓抽象和实现沿着各自的维度的变化,即“子类化”他们。

抽象不应该依赖于实现细节,实现细节应该依赖于抽象

动机(Motivation):

一些业务具有多个变化的角度。

意图(Intent):

将抽象部分于实现部分分离,使他们都独立地变化。

结构(Structure)

 

img_02724849eaf5aa790aaca9b3fbd59d44.gif

Bridge模式的几个要点:

(1)Bridge模式使用“对象间的组合关系”解耦了抽象于和实现之间固有的绑定关系,使抽象和实现可以沿着各自的维度来变化

(2)所谓抽象和实现沿着各自的维度的变化,即“子类化”他们。得到各个子类之后,便可以任意组合他们

(3)Bridge模式有时候类似于多继承方案,但是多继承方案往往违反单一职责原则(即一个类只有一个变化的原因),复用性比较差。Bridge模式是比多继承方案更好的解决方法。

(4)Bridege模式的应用一般在“两个非常强的变化维度”,即使有两个变化的维度,但是在某个方向的变化维度并不剧烈-换言之两个变化不会导致纵横交错的结果,并不一定要使用Bridge模式。

 

 

版权

作者:灵动生活 郝宪玮

出处:http://www.cnblogs.com/ywqu

如果你认为此文章有用,请点击底端的【推荐】让其他人也了解此文章,

img_2c313bac282354945ea179a807d7e70d.jpg

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 

相关文章
|
Unix C# 数据库
C#设计模式之七桥接模式(Bridge Pattern)【结构型】
原文:C#设计模式之七桥接模式(Bridge Pattern)【结构型】 一、引言   今天我们要讲【结构型】设计模式的第二个模式,该模式是【桥接模式】,也有叫【桥模式】的,英文名称:Bridge Pattern。
1367 0
|
1月前
|
C#
24. C# 编程:用户设定敌人初始血值的实现
24. C# 编程:用户设定敌人初始血值的实现
20 0
|
2月前
|
SQL 数据库连接 应用服务中间件
C#WinForm基础编程(三)
C#WinForm基础编程
75 0
|
2月前
C#WinForm基础编程(二)
C#WinForm基础编程
57 0
|
2月前
|
C# 数据安全/隐私保护
C#WinForm基础编程(一)
C#WinForm基础编程
60 0
|
4月前
|
数据采集 前端开发 C#
C#编程艺术:Fizzler库助您高效爬取www.twitter.com音频
Twitter是全球最大的社交媒体平台之一,包含丰富的音频资源。用户可以在Twitter上发布、转发、评论和收听各种音频内容,如音乐、播客、新闻、故事等,直接从Twitter抓取音频数据并非易事,尤其是在考虑到可能的封锁和反爬虫机制。Twitter会对频繁访问的IP地址进行限制或封禁,以防止恶意爬虫的行为。因此,我们需要使用一些技术手段来规避这些障碍,确保稳定而高效的数据访问。
C#编程艺术:Fizzler库助您高效爬取www.twitter.com音频
|
3月前
|
程序员 C#
深入理解 C# 编程:枚举、文件处理、异常处理和数字相加
枚举是一个特殊的“类”,表示一组常量(不可更改/只读变量)。 要创建枚举,请使用 enum 关键字(而不是 class 或 interface),并用逗号分隔枚举项:
38 0
|
3天前
|
存储 安全 网络安全
C#编程的安全性与加密技术
【4月更文挑战第21天】C#在.NET框架支持下,以其面向对象和高级特性成为安全软件开发的利器。本文探讨C#在安全加密领域的应用,包括使用System.Security.Cryptography库实现加密算法,利用SSL/TLS保障网络传输安全,进行身份验证,并强调编写安全代码的重要性。实际案例涵盖在线支付、企业应用和文件加密,展示了C#在应对安全挑战的同时,不断拓展其在该领域的潜力和未来前景。
|
3天前
|
程序员 C#
C#编程中的面向对象编程思想
【4月更文挑战第21天】本文探讨了C#中的面向对象编程,包括类、对象、封装、继承和多态。类是对象的抽象,定义属性和行为;对象是类的实例。封装隐藏内部细节,只暴露必要接口。继承允许类复用和扩展属性与行为,而多态使不同类的对象能通过相同接口调用方法。C#通过访问修饰符实现封装,使用虚方法和抽象方法实现多态。理解并应用这些概念,能提升代码的清晰度和可扩展性,助你成为更好的C#程序员。
|
4天前
|
IDE 程序员 C#
C#编程入门:从零开始的旅程
【4月更文挑战第20天】本文引导初学者入门C#编程,从环境搭建开始,推荐使用Visual Studio Community版作为IDE。接着,通过编写"Hello, World!"程序,介绍基本语法,包括数据类型、运算符和表达式。文章还涉及控制结构、函数和方法,以及面向对象编程概念。通过学习,读者将对C#有初步了解,并激发进一步探索编程世界的兴趣。