MVC, MVP, MVVM总结——MVC篇
1. 这些模式诞生的源需求 程序的最原始的内容就是数据. 围绕着数据的产生、修改等变化,出现了业务逻辑, 围绕着数据的显示,出现了不同的界面技术. 没有设计的代码,会出现数据层(持久层)和业务逻辑层还有界面代码耦合的情况。 ORM解决业务逻辑和数据之间的耦合。 MVC, MVP, MMVM用来解决业务逻辑和视图之间的耦合 2. 经典的MVC模式 Model: 用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。Model有对数据直接访问的权力,例如对数据库的访问。 模型中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此模型的视图必须事先在此模型上注册,从而,视图可以了解在数据模型上发生的改变。 View: 视图层能够实现数据有目的的显示(理论上,这不是必需的)。 在视图中一般没有程序上的逻辑。为了实现视图上的刷新功能,视图需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册。 Controller: 控制器起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据模型上的改变。 3. 真实在Web中使用的MVC 上面是Structs中的MVC的一个请求的流程, asp.net中的MVC应该类似。 Web应用中的MVC架构与通常所说的MVC架构有一点区别。 主要区别在于: