我对外观设计模式的使用感到困惑。是类似于 MVC 的门面。我问这个是因为我在一个项目中使用了外观,它有助于将前端接口与后端内部分离。
3 回答
我想说你可能忽略了很多事情,MVC 是一个完整的框架,可以帮助你分离控制器(处理 Web 请求的基础设施)和模型(这是你传递给视图的信息)和视图(它只对呈现信息感兴趣)。
我对外观的看法,可以适用于任何你想要提供一个系统组件的更简单接口的东西,只要它需要与另一个系统组件通信,这是为了避免过于繁琐或过于复杂的复杂 API。
关于外观,有适配器模式,它与外观一样工作,试图从系统组件简化 API,但不同之处在于其中一个组件不受您的控制,是您无法修改的东西行为。ASP.Net 缓存可能是一个示例,您将创建一个适配器以满足您的要求,如果 ASP.Net 缓存发生显着更改,您将需要更新您的适配器。
所以总的来说,两者都是模式,但我认为 MVC 类似于 Framework+Pattern,而 FAcade 只是一个简单的功能,可以在您使用复杂的软件组件时简化您的工作。
希望能帮助到你,
用最简单的话来说——Facade 用于向客户端隐藏系统/子系统/层的内部细节,而 MVC 是一种将业务、表示和控制器解耦的架构。
外观模式 为子系统中的一组接口提供统一的接口。
Facade 定义了一个更高级别的接口,使子系统更易于使用。这可用于将许多复杂的对象交互简化为单个界面。
外观模式可用于 MVC 应用程序,以增强复杂 MVC 应用程序的分层架构。