我一直在阅读这两个定义,他们似乎完全一样。
有人能指出它们之间的区别吗?
Facade Patternwiki 页面对此有一个简短的说明。
当包装器必须尊重特定的接口并且必须支持多态行为时,使用 Adapter。另一方面,当人们希望使用更简单或更简单的接口时,使用 facade。
我听到了一个类比,您应该想到您已经设置为可与所有不同立体声系统配合使用的通用遥控器-按“开”键,它将打开电缆盒,接收器和电视。也许这是一个非常奇特的家庭影院,它也可以调暗灯光并绘制阴影。那是一个 Facade-一个按钮 / 功能,可以处理一组更复杂的步骤。
适配器模式只是链接两个不兼容的接口。
编辑:适配器模式的快速类比(基于注释)可能类似于 DVI 到 VGA 适配器。现代视频卡通常是 DVI,但是您有一个旧的 VGA 显示器。使用可插入视频卡预期的 DVI 输入并具有自己的 VGA 输入的适配器,您将能够使旧显示器与新视频卡配合使用。
适配器 = = 使一个方形的钉子适合一个圆孔。
Facade = = 一个控制面板来运行所有内部组件。
A 的目的
facadeissimplicity适配器是互操作性。
主要收获:(来自 Pankaj Kumar 的journaldev文章)
Facade 模式更像是客户端应用程序的助手
Facade 模式可以在任何开发点应用,通常是当接口数量增加并且系统变得复杂时。
子系统接口不知道 Facade,它们不应该有任何 Facade 接口的引用
Facade 模式应应用于类似类型的接口,其目的是提供单个接口,而不是提供执行类似类型工作的多个接口
门面类图:
Adapter:它是一个结构模式
使用两个不兼容的接口很有用
它使设计后的东西工作
适配器的类图:
您可以在此 SE 帖子中找到有关适配器的更多详细信息:
Difference between Bridge pattern and Adapter pattern Key differences:Facade 定义了一个新的接口,而 Adapter 使用一个旧的接口。Adapter 使两个现有的接口一起工作,而不是定义一个全新的接口
Adapter 和 Facade 都是包装器;但它们是不同类型的包装器。Facade 的目的是生成更简单的接口,而 Adapter 的目的是针对现有接口进行设计
也看看source文章,以便更好地理解。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(41条)