MVC分层架构

来源:互联网 发布:流行音乐史 知乎 编辑:程序博客网 时间:2024/06/04 18:40

      对于界面设计可变性的需求,MVC把交互系统的组成分为模型、视图、控制三种部件。

 

      模型部件[Model]是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,他独立于具体的界面表达和 I/O操作。

 

      视图部件[View]把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。

 

      控制部件[Controller]是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。

 

      通常一个视图具有一个控制器,一个模型可以具有多个显示视图。

      无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。

 

MVC的优势:
      1、开发人员可以只关注整个结构中的其中某一层;
      2、可以很容易的用新的实现来替换原有层次的实现;
      3、可以降低层与层之间的依赖;
      4、有利于标准化;
      5、利于各层逻辑的复用。

 

      概括来说,分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定义

MVC的缺点:

      1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
      2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。

 

原创粉丝点击