相关疑难解决方法(0)

代理,装饰器,适配器和桥接模式有何不同?

我在看代理模式,对我而言,它似乎很像装饰器,适配器和桥模式.我误会了什么吗?有什么不同?为什么我会使用Proxy模式而不是其他模式?你过去在现实世界的项目中如何使用它们?

design-patterns bridge decorator proxy-pattern

381
推荐指数
8
解决办法
7万
查看次数

你什么时候使用桥模式?它与适配器模式有何不同?

有没有人在现实世界的应用程序中使用Bridge Pattern?如果是这样,你是如何使用它的?是我,还是仅仅是适配器模式,在混合中引入了一点依赖注入?它真的值得拥有自己的模式吗?

design-patterns bridge adapter

150
推荐指数
10
解决办法
8万
查看次数

Facade和Adapter Pattern有什么区别?

我一直在阅读这两个定义,它们似乎完全相同.任何人都可以指出他们的差异是什么?

谢谢

c# java design-patterns facade adapter

91
推荐指数
9
解决办法
3万
查看次数

桥与适配器设计模式

我被一位同事质疑我在ASP.net客户端应用程序中实现WCF Windows服务的设计模式,我真的不知道它是Bridge还是Adapter!

这是实施:

  • 我已经获得了服务合同
  • 定义了一个类似于我的WCF数据协定的新界面
  • 我创建了一个WCF客户端并将其包装在新接口中
  • 将新的接口操作映射到原始WCF客户端(我在这里做一些日志记录/错误处理)

我一直认为它是适配器模式的实现,但实际上我不知道为什么它不是Bridge!

我已经阅读了SO,GoF和维基百科中的所有帖子,但它确实没有意义!

根据我的理解,两种模式都指向一个现有的类型,都将抽象与其实现分离,我错过了一个观点?

这是来自GoF:

这些模式之间的关键区别在于它们的意图.Adapter专注于解决两个现有接口之间的不兼容问题.它没有关注这些接口的实现方式,也没有考虑它们如何独立发展.这是一种让两个独立设计的类一起工作而不重新实现其中一个的方法.另一方面,Bridge桥接了一个抽象及其(可能很多)实现.它为客户提供了一个稳定的界面,因为它允许您改变实现它的类.随着系统的发展,它还适应新的实现.

我不完全理解上述说法,

  1. 这是否意味着如果我在设计时更改了适配器或更改了原始界面的实现,那么它是Bridge Pattern
  2. 差异听起来微不足道,在实施/排除方面还有其他差异吗?
  3. 怎么会有人说出 开发使用了什么实现?
  4. 谁能给我一个很好的桥接模式示例,以及如何在软件生命周期中对其进行更改?

更新:

再次来自GoF:

请记住,适配器使两个现有接口协同工作,而不是定义一个全新的接口.

是否意味着更改现有接口以便它可以与另一个接口一起使用是Adapter的实现?

UPDATE2:

刚刚发现这篇令人难以置信的文章:C#中的插图GOF设计模式

这是真正的Bridge Patter结构:

我错过了Bridge模式允许您组合不同的抽象和实现并独立扩展它 的事实在此输入图像描述

c# wcf design-patterns bridge adapter

19
推荐指数
3
解决办法
7723
查看次数

适配器和代理模式之间的确切区别是什么?

据我所知,适配器代理模式使两个不同/不同的类/对象与每个相互兼容以进行通信.它们都是结构模式.我发现他们两个都非常相似.

有人可以解释究竟是什么让他们与众不同?

编辑:我经历了这个问题.但我更愿意在Adapter和Proxy之间进行密切的比较.

oop design-patterns adapter object-oriented-analysis proxy-pattern

10
推荐指数
2
解决办法
8200
查看次数

'Adapter'和'Mediator'模式之间的确切区别是什么?

我知道适配器是一种结构模式,而Mediator是一种行为模式.但据我所知,他们两人正在做的是连接两个(或更多)其他类,这些类可能与直接通信不兼容(不可维护).

有人可以对这两者进行比较,并指出确切的区别吗?

这些是TutorialsPoint中AdapterMediator解释的链接.

这些都是来源制作的解释.适配器,调解器.

oop design-patterns adapter mediator object-oriented-analysis

8
推荐指数
3
解决办法
2304
查看次数