【问题标题】:Can we Say facade and Adapter are more or less same in design patterns?我们可以说外观和适配器在设计模式上或多或少相同吗?
【发布时间】:2012-08-30 10:08:40
【问题描述】:
Can we Say facade and Adapter are more or less in design patterns ?

维基百科将其解释为:-

 Adapter Converts one interface to another so that it matches what the client is 
 expecting while Facade Provides a simplified interface. 

查看 wiki http://en.wikipedia.org/wiki/Facade_pattern 和适配器模式 http://en.wikipedia.org/wiki/Adapter_pattern 中的 UML 表示,我无法区分它们。有人可以解释一下两者的主要区别吗?

【问题讨论】:

标签: design-patterns


【解决方案1】:

Adapter 设计模式将一个类接口“转换”为另一个客户期望/可以使用的接口。 IE。它有利于与不兼容的接口的“合作”。
IE。 改编类的现有接口为客户端可以使用的接口。

Facade 设计模式为系统的一组接口提供了统一的接口。它使调用代码更容易通过外观来操作系统(外观这个词来自法语,字面意思是“正面”或“面”;外观或外观通常是一个外部侧建筑物的正面,通常但不总是正面。为了隐藏不那么令人愉快或可信的现实而保持的外观)。

【讨论】:

  • 那么,是否应该说有一个抽象类/接口,它将跨各种提供程序的某些功能的访问统一为facade,同时指的是该外观的具体实现服务为adapter?
  • @Faust:不。这是针对不同领域的 2 种不同模式。一个不是另一个的实现部分
【解决方案2】:

Adapter 专门用于当您需要使类适应特定接口时。

Facade 是关于将杂乱的界面隐藏在一个简单的界面后面。

【讨论】:

  • 但唯一的区别是特定接口的实现和多个接口的实现,以防外观为主要接口?就隐藏混乱而言,我猜适配器也可以这样做
【解决方案3】:

Facade 可以是Adapter,反之亦然,但它们通常具有不同的意图。 Facade 通常用于 API 以降低使用更简单功能的障碍。而Adapter 有助于弥合需要通信的两个不兼容接口之间的差距。 Adapter 还可以解耦两个系统,因此它们每个都只需要依赖Adapter 接口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    • 1970-01-01
    • 2017-07-09
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 2015-05-06
    相关资源
    最近更新 更多