zoukankan      html  css  js  c++  java
  • MVC模式笔记

    参见:https://martinfowler.com/eaaCatalog/modelViewController.html

    企业应用架构模式(P of EAA)第14章Web表现模式第一节MVC笔记

    MVC图解

    1.模型(Model):表示领域信息的对象,不可见对象,包含所有数据和行为(个人见解:三层架构在MVC中归类为模型);

    2.视图(View):表示模型的显示(仅仅显示信息);

    3.控制器(Controller):获取用于输入(通过视图获取),对模型进行操作,并更新视图。

    PS:作者将UI是视图和控制器的结合体。

    两个主要的分离:从模型中分离表现(separation of presentation from model)和从视图中分离控制器(separation of the controller of view)。

    第一个分离从模型中分离表现(separation of presentation from model)很重要,原因如下:

    • 表现(presentation )和模型关注点不同。当开发视图时,考虑的是UI机制及如何布局一个好的用户界面;而当设计模型时,考虑的是业务策略,或数据库交互。
    • 根据上下文,同样的基本模型信息,相同的模型代码,分离后可开发多个表现(即不同的界面)。例可在相同的模型上实现富客户端、Web浏览器、远程API和命令行界面。
    • 不可见对象通常比可见对象容易测试,分离后可轻松测试领域逻辑。

    依赖方向为表现依赖模型,但模型不依赖表现。

    PS:

    第二个分离从视图中分离控制器(separation of the controller of view),作者表示不是很重要,有兴趣的可以去看看。

  • 相关阅读:
    Count and Say
    Valid Sudoku
    Find First and Last Position of Element in Sorted Array
    Search in Rotated Sorted Array
    Longest Valid Parentheses
    web前端中文教程库
    三代基因组拼接软件--Falcon篇
    使用ThreadPoolExecutor并行执行独立的单线程任务
    python中的计时器:timeit
    Python教程
  • 原文地址:https://www.cnblogs.com/venux/p/6385849.html
Copyright © 2011-2022 走看看