`
lfq618
  • 浏览: 87807 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

快速入门三、理解MVC

阅读更多

本章将讲述在网络系统(WEB系统)开发中,MVC(模型-视图-控制器)架构的理念、设计以及在sp框架中的实际应用方式等。

首先我们来看看MVC架构的示意图:

从上图我们可以将MVC简单地理解成:

和访问者交互的是控制层(Controller层),控制器(controller)是同类交互的集合,每一个交互的操作,都对应了一个动作(action)。在sp框架中,全部的控制器类都必须继承于spController。

对数据库进行存取的是模型层(Model层),在sp框架中,全部的模型器类都必须继承于spModel。

显示页面模板的是视图层(View层),在sp框架中,视图层被集成到了控制器内,所以在实际开发中,视图层所要制作的只有页面模板。

上面简单描述了MVC架构的理解。下面讲述一下关于sp框架中的MVC理念,可能比较抽象而不好理解,但是还请耐心去阅读,毕竟在实际开发中,对MVC理念的理解是非常必要和重要的。

sp框架中的MVC理念,是将网络系统划分为三个关注点:交互、数据、页面模板;也就是我们设计或分析一个网络系统,就可以从这三个角度去进行:

交互:

表现在系统提供了哪些功能,这些功能可以划分为哪些大类,每一个大类的功能分别都有些什么操作等等。

比如PHP论坛系统,我们可以粗略划分成板块、帖子、用户、站内信息、后台管理等几大类的功能,然后用户的功能里面又包括了注册、登录、修改用户信息等等的多个操作。

对应sp框架的控制层(controller层)而言,一个功能大类可以说是一个控制器类(当然,如果该类型概况的范围比较大,那么还需要继续拆分成多个控制器类),单个类型内的每一个功能就是一个动作(action,控制器类的方法函数)。然后根据访问者对系统的每一次操作,sp框架都会自动选择对应控制器类中的对应动作进行处理。

数据:

表现在系统对数据库进行了那些操作。网络系统几乎都需要和数据库打交道。那么,在进行对交互的分析和对系统本身的分析后,我们也大致上可以归纳系统需要哪些数据了。然后我们将这些数据整理归类,最终可以得出系统需要的数据表是哪些。

就刚才的PHP论坛,按照“板块、帖子、用户、站内信息、后台管理”这五个分类功能,我们可以基本归纳出它们需要:板块记录表、帖子记录表、用户表、站内信息表、后台设置表等等。

对应sp框架的模型层(Model层)而言,一个表可以说就是对应了一个模型类。而sp框架中的模型父类(spModel)为这些模型类提供大部分与数据库存取的功能。

页面模板:

每一个网络系统的开发中,我们都将需要制作相当数量的页面。简单来说,控制器的每一个动作(action)都有可能产生一个页面,所以在理清所有交互,完成控制器的设计后(未写代码前),我们就可以得到需要的页面模板的清单了。然后在模板引擎的帮助下,页面模板的制作可以与控制器的开发同时进行,以提高开发效率。

按照上面的PHP论坛交互的设计,那么我们可以得到的页面模板有许多,比如板块方面,有首页模板、分区模板、板块模板等;帖子方面有帖子内容模板、发帖模板、回帖模板等。

sp框架将视图层(View层)集成到了控制器内,所以在开发中,控制器将会把需要的数据发送到模板上面。而视图层所需要的开发,就仅是按照模板的语法进行页面模板的制作即可。

根据“交互、数据、页面模板”这三个关注点,那么我们就可以比较全面地去分析和设计一个网络系统了。请注意这三个关注点并非孤立的,而“交互”正是“数据”与“页面模板”的基础,所以对“交互”的分析务必要做到正确并且完善。如果您希望了解更多关于系统分析与设计方面的知识,请到sp网站上面阅读相关文章。

当我们理解了MVC后,下一步我们可以开始进入实战,来制作一个简单的留言本程序了。

分享到:
评论

相关推荐

    spring MVC_快速入门

    这个“spring MVC_快速入门”文档可能涵盖了以上部分或全部内容,旨在帮助初学者快速理解Spring MVC的工作原理和基本用法。通过学习,开发者可以快速搭建起一个功能完善的Web应用,并逐步深入到更高级的特性,如AOP...

    Spring MVC快速入门

    **Spring MVC 快速入门** Spring MVC 是 Spring 框架的一个模块,专门用于构建 Web 应用程序。它提供了一种模型-视图-控制器(MVC)架构,简化了开发过程,使得开发者可以专注于业务逻辑而不必过于关注底层细节。在...

    mvc入门学习教程

    ### MVC入门学习教程知识点解析 #### 一、MVC架构简介 MVC(Model-View-Controller)是一种软件设计模式,常用于...这些知识对于初学者来说是非常宝贵的资源,有助于快速入门并深入理解MVC框架的工作原理和技术细节。

    mvc5快速入门学会增删改查.zip

    **MVC5快速入门与增删改查** MVC(Model-View-Controller)是一种广泛应用于Web开发的设计模式,它将应用程序的业务逻辑、数据处理和用户界面分离开来,提高了代码的可维护性和可扩展性。MVC5是.NET Framework中的...

    Asp.NetMVC4入门指南(经典).pdf

    教程不仅涵盖了*** MVC 4的基本概念,还通过实例教学,让读者理解如何在实际项目中应用MVC设计模式,实现数据的增删改查,以及如何使用一些进阶功能,比如模型校验、第三方控件等。通过这篇指南,学习者可以快速掌握...

    spring mvc 快速入门深入分析

    ### Spring MVC 快速入门深入分析 #### 一、Spring MVC 概述 Spring MVC 是 Spring Framework 的一个重要模块,主要用于构建 Web 应用程序。它遵循 MVC(Model-View-Controller)设计模式,将应用程序的不同关注点...

    Qt Creator快速入门(第三版)源码

    总的来说,通过仔细研究这个"Qt Creator快速入门(第三版)"的源码,不仅可以加深对Qt和C++编程的理解,还能学习到软件工程的最佳实践,包括项目结构、代码组织和测试方法。无论你是刚开始接触Qt,还是希望提升现有...

    MVC3.0快速入门

    **ASP.NET MVC 3.0 快速入门指南** ASP.NET MVC 3.0 是微软推出的一款基于模型-视图-控制器(Model-View-Controller)设计模式的Web应用程序开发框架。它为开发者提供了构建可维护、高性能和高度可测试的Web应用的...

    MVC3.0快速入门(中文版)

    在阅读《MVC3.0快速入门(中文).pdf》时,建议结合实际动手操作,创建一个简单的Web应用,以便更好地理解和掌握MVC3.0框架的运作方式。通过这样的实践,开发者可以迅速提升对ASP.NET MVC的理解,为后续的Web开发...

    经典的入门级Ext MVC模式案例

    本案例“经典的入门级Ext MVC模式”旨在帮助新手理解并掌握如何在实际项目中运用这一模式。 1. **MVC模式简介** MVC模式是一种软件设计模式,它将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器...

    Spring MVC 教程快速入门 深入分析

    三、Spring MVC核心流程图:描述了Spring MVC处理请求的流程,包括前端控制器接收请求,经过分发器分发给具体的控制器,然后由控制器处理业务逻辑,最后将结果返回给用户。 四、Spring MVC DispatcherServlet说明:...

    ASP.NET MVC3 快速入门

    ### ASP.NET MVC3 快速入门知识点解析 #### 一、ASP.NET MVC3 概述 **ASP.NET MVC3** 是微软推出的一款基于MVC(Model-View-Controller)架构的Web开发框架,旨在帮助开发者构建更加灵活、可扩展且易于测试的Web...

    ASP.NET MVC3快速入门

    【ASP.NET MVC3快速入门】教程旨在帮助初学者迅速掌握ASP.NET MVC3框架的基本操作,通过实例演示如何创建、展示、修改和删除电影类型的管理功能。在这个教程中,我们将涉及以下几个核心知识点: 1. **创建ASP.NET ...

    ThinkPHP5快速入门

    《ThinkPHP5快速入门》...总结来说,《ThinkPHP5快速入门》涵盖了框架的基本结构、核心组件、常用功能及安全策略,是学习ThinkPHP5的理想起点。通过阅读本书,你可以快速掌握这个框架,为你的PHP开发之旅打下坚实基础。

    精简源码-spring-mvc 入门级使用,亲测好用

    这个"精简源码-spring-mvc 入门级使用"的压缩包文件,旨在为初学者提供一个简单易懂的实践案例,帮助他们快速理解和上手 Spring MVC。 首先,我们从 "spring" 这个标签开始。Spring 是一个开源框架,它提供了一个...

    MVC入门学习ppt

    本教程的"PPT主要用来快速入门ASP.NET MVC",涵盖了从基本的MVC架构到相关的前端技术和数据操作。通过学习这些内容,初学者可以迅速掌握ASP.NET MVC的开发技巧,为构建功能丰富的Web应用程序打下坚实基础。同时,...

    ThinkPHP5快速入门手册

    本快速入门手册通过循序渐进的方式介绍了ThinkPHP5.0的基础使用,包括安装、配置和基本开发流程。对于想入门ThinkPHP的开发者来说,这是一个非常好的学习资源。手册中也提到了ThinkPHP的目录结构、运行环境、入口...

Global site tag (gtag.js) - Google Analytics