门面设计模式与MVC类似吗?

时间:2012-11-30 07:10:42

标签: design-patterns

我对立面设计模式的使用感到困惑。外观类似于MVC。我问这个是因为我在一个帮助将前端接口与后端内部分离的项目中使用了外观。

3 个答案:

答案 0 :(得分:5)

我想说你可能忽略了很多东西,MVC是一个完整的框架,可以帮助你分离控制器(处理Web请求的基础设施)和模型(这是传递给视图的信息)和视图(仅对呈现信息感兴趣)。

我认为外观的方式可以应用于您希望在需要与另一个系统组件通信时提供系统组件的更简单接口的所有内容时,这是为了避免过于繁琐或过于复杂的复杂API

关于外观,有适配器模式,它作为外观工作得很好,试图从系统组件简化API,但区别在于其中一个组件不在你的控制之下,是你的东西无法修改其行为。 ASP.Net缓存可能是一个示例,您将创建一个ADAPTER来满足您的要求,如果ASP.Net CAche发生了显着变化,您将需要更新您的适配器。

总的来说,两者都是模式,但我认为MVC就像Framework + Pattern一样,而FAcade只是一个简单的功能,可以在您处理复杂的软件组件时轻松完成工作。

希望它有所帮助,

答案 1 :(得分:2)

最简单的话 - Facade用于隐藏客户端系统/子系统/层的内部细节,而MVC是一种解耦业务,演示和控制器的架构。

答案 2 :(得分:1)

Facade Pattern为子系统中的一组接口提供统一接口。

Facade定义了一个更高级别的接口,使子系统更易于使用。这可以用于将大量复杂的对象交互简化为单个界面。

可以在MVC应用程序中使用Facade Pattern来增强复杂MVC应用程序的分层体系结构。