我在看代理模式,对我而言,它似乎很像装饰器,适配器和桥模式.我误会了什么吗?有什么不同?为什么我会使用Proxy模式而不是其他模式?你过去在现实世界的项目中如何使用它们?
有没有人在现实世界的应用程序中使用Bridge Pattern?如果是这样,你是如何使用它的?是我,还是仅仅是适配器模式,在混合中引入了一点依赖注入?它真的值得拥有自己的模式吗?
我一直在阅读这两个定义,它们似乎完全相同.任何人都可以指出他们的差异是什么?
谢谢
我被一位同事质疑我在ASP.net客户端应用程序中实现WCF Windows服务的设计模式,我真的不知道它是Bridge还是Adapter!
这是实施:
我一直认为它是适配器模式的实现,但实际上我不知道为什么它不是Bridge!
我已经阅读了SO,GoF和维基百科中的所有帖子,但它确实没有意义!
根据我的理解,两种模式都指向一个现有的类型,都将抽象与其实现分离,我错过了一个观点?
这是来自GoF:
这些模式之间的关键区别在于它们的意图.Adapter专注于解决两个现有接口之间的不兼容问题.它没有关注这些接口的实现方式,也没有考虑它们如何独立发展.这是一种让两个独立设计的类一起工作而不重新实现其中一个的方法.另一方面,Bridge桥接了一个抽象及其(可能很多)实现.它为客户提供了一个稳定的界面,因为它允许您改变实现它的类.随着系统的发展,它还适应新的实现.
我不完全理解上述说法,
更新:
再次来自GoF:
请记住,适配器使两个现有接口协同工作,而不是定义一个全新的接口.
是否意味着更改现有接口以便它可以与另一个接口一起使用是Adapter的实现?
UPDATE2:
刚刚发现这篇令人难以置信的文章:C#中的插图GOF设计模式
这是真正的Bridge Patter结构:
我错过了Bridge模式允许您组合不同的抽象和实现并独立扩展它
的事实
据我所知,适配器和代理模式使两个不同/不同的类/对象与每个相互兼容以进行通信.它们都是结构模式.我发现他们两个都非常相似.
有人可以解释究竟是什么让他们与众不同?
编辑:我经历了这个问题.但我更愿意在Adapter和Proxy之间进行密切的比较.
oop design-patterns adapter object-oriented-analysis proxy-pattern
我知道适配器是一种结构模式,而Mediator是一种行为模式.但据我所知,他们两人正在做的是连接两个(或更多)其他类,这些类可能与直接通信不兼容(不可维护).
有人可以对这两者进行比较,并指出确切的区别吗?
oop design-patterns adapter mediator object-oriented-analysis