MVC设计模式

作者: 抚仙湖的小王子 | 来源:发表于2019-05-23 09:25 被阅读13次

设计模式

设计模式指的是“在特定的环境下为解决某一通用设计问题而提供的一套定制的解决方案,该方案描述了对象与类之间的相互作用。” ---Gang ofFour

设计模式将现代软件开发与传统软件工程结合到一起,前人的诸多经验可以帮助后人设计出健壮性更好,可伸缩性更棒的软件系统。

最常用的设计模式:工厂模式,单例模式,观察者模式,装饰模式,MVC模式,异步编程,门面模式,数据访问模式,定时器服务等。(重点讲解MVC)

反模式:有模式就有反模式,虽然设计模式能够帮助我们设计出更棒的系统,但对设计模式的大量堆砌却导致了反模式的出现。合理的场景下选择最适当的模式才能起到最好的效果。(未找到精确概念)。

MVC模式

 1)什么是MVC?

 2) 何处何时用MVC?

答:

1)“模型-视图-控制器”------“Model--View--Controller”,这种模式简称为MVC。其中:

模型表示的是应用数据以及相关的业务逻辑;

视图指的是对包含在模型中的数据的可视化表示:用户看到的并与之交互的界面;

控制器会将视图链接到模型上,并指定应用流。

在创建与用户交互的应用程序时,首先必须考虑三点:用户界面,对用户输入进行处理,应用程序必须存储必要的信息以便正确的响应用户(通常数据库)。为了结合这几方面,一种方法是将他们合并到一个类中,将显示界面的代码,实现逻辑的代码以及处理数据的代码混合在一起。

导致代码难以重用,难以维护。解决之道是MVC设计模式。

Mvc模式能够强制性的使应用程序的输入,处理和输出分开。Mvc的一个好处是它能为应用程序处理很多不同的视图,在视图中其实没有没有真正的处理发生。作为视图来讲,它只是作为一种输出数据并允许用户操作的方式。

在三个部件中,模型拥有最多的处理任务,由于应用于模型的代码只需要写一次即可被多个视图重用,所以减少了代码的重用性。

实例:

当点击网页上的按钮,控制器本身不输出任何东西和做任何处理,它只是接受请求并决定调用那个模型构件去处理请求,然后确定哪个视图显示模型返回的数据。

  1. MVC是所有面向对象程序语言都应该遵守的规范。MVC模式最常用于web应用,不过只要将试图逻辑与业务逻辑分开就能得到好处,就可以使用MVC。

参考:

1 . Murat Yener, AlexTheedom,《Professional Java EE Design Patterns》张龙译,清华大学出版社。

  1. 《Swift 细致入门与最佳实践》,陈强,中国铁道出版社。

相关文章

  • 游戏开发中的MVVM设计模式

    mvc设计模式 说到mvvm设计模式不得不先说说mvc设计模式。mvc其实不是一个模式,而是几个模式结合使用的结果...

  • 浅析 MVC

    一、 MVC 设计模式 1. 设计模式 设计模式,是通用代码(组织方式)的一种统称 2. MVC 是什么 MVC ...

  • iOS开发之MVVM+RAC架构模式

    在说MVVM之前,首先要了解我们最常用的MVC设计模式⬇️ 1.MVC设计模式 苹果官方将MVC设计模式作为iOS...

  • 浅析 MVC

    一、MVC是什么? MVC是一种设计模式(那设计模式又是什么呢?简单粗暴的说好用的东西就是设计模式),MVC能够使...

  • 对angularJS一些概念的理解

    angularJS是以MVC为设计模式的JS框架 MVC(Model View Controller)设计模式(d...

  • 面试题总结(二)

    常用的设计模式:MVC、工厂、代理、KVO MVC设计模式 MVC是一种架构模式,M表示数据模型Model,V表示...

  • JavaWeb入门——MVC

    1.MVC设计模式 1.1MVC模式 1.2MVC模式示例 index.jsp WelcomeServlet.ja...

  • iOS 设计模式 一

    设计模式随记 系统架构模式 1. MVC - MVVM - MVP - MVVM、MVC协调版 MVC :...

  • MVC设计模式

    MVC设计模式MVC设计模式 M:Model 数据模型 V:View 视图 C: Controller 控制器 (...

  • Android开发热门前沿知识,看这些就够啦

    1. Android架构设计模式 MVC架构设计模式:MVC全名是Model View Controller,是模...

网友评论

    本文标题:MVC设计模式

    本文链接:https://www.haomeiwen.com/subject/nnoszqtx.html