本章将讲述在网络系统(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的工作原理和基本用法。通过学习,开发者可以快速搭建起一个功能完善的Web应用,并逐步深入到更高级的特性,如AOP...
**Spring MVC 快速入门** Spring MVC 是 Spring 框架的一个模块,专门用于构建 Web 应用程序。它提供了一种模型-视图-控制器(MVC)架构,简化了开发过程,使得开发者可以专注于业务逻辑而不必过于关注底层细节。在...
### MVC入门学习教程知识点解析 #### 一、MVC架构简介 MVC(Model-View-Controller)是一种软件设计模式,常用于...这些知识对于初学者来说是非常宝贵的资源,有助于快速入门并深入理解MVC框架的工作原理和技术细节。
**MVC5快速入门与增删改查** MVC(Model-View-Controller)是一种广泛应用于Web开发的设计模式,它将应用程序的业务逻辑、数据处理和用户界面分离开来,提高了代码的可维护性和可扩展性。MVC5是.NET Framework中的...
教程不仅涵盖了*** MVC 4的基本概念,还通过实例教学,让读者理解如何在实际项目中应用MVC设计模式,实现数据的增删改查,以及如何使用一些进阶功能,比如模型校验、第三方控件等。通过这篇指南,学习者可以快速掌握...
### Spring MVC 快速入门深入分析 #### 一、Spring MVC 概述 Spring MVC 是 Spring Framework 的一个重要模块,主要用于构建 Web 应用程序。它遵循 MVC(Model-View-Controller)设计模式,将应用程序的不同关注点...
总的来说,通过仔细研究这个"Qt Creator快速入门(第三版)"的源码,不仅可以加深对Qt和C++编程的理解,还能学习到软件工程的最佳实践,包括项目结构、代码组织和测试方法。无论你是刚开始接触Qt,还是希望提升现有...
**ASP.NET MVC 3.0 快速入门指南** ASP.NET MVC 3.0 是微软推出的一款基于模型-视图-控制器(Model-View-Controller)设计模式的Web应用程序开发框架。它为开发者提供了构建可维护、高性能和高度可测试的Web应用的...
### MVC3.0 图文解说快速入门 #### 一、MVC3.0简介与基础知识 **MVC**(Model-View-Controller)是一种软件架构模式,被广泛应用于Web应用程序的开发之中。它通过分离应用程序的业务逻辑、用户界面以及控制逻辑来...
在阅读《MVC3.0快速入门(中文).pdf》时,建议结合实际动手操作,创建一个简单的Web应用,以便更好地理解和掌握MVC3.0框架的运作方式。通过这样的实践,开发者可以迅速提升对ASP.NET MVC的理解,为后续的Web开发...
本案例“经典的入门级Ext MVC模式”旨在帮助新手理解并掌握如何在实际项目中运用这一模式。 1. **MVC模式简介** MVC模式是一种软件设计模式,它将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器...
三、Spring MVC核心流程图:描述了Spring MVC处理请求的流程,包括前端控制器接收请求,经过分发器分发给具体的控制器,然后由控制器处理业务逻辑,最后将结果返回给用户。 四、Spring MVC DispatcherServlet说明:...
### ASP.NET MVC3 快速入门知识点解析 #### 一、ASP.NET MVC3 概述 **ASP.NET MVC3** 是微软推出的一款基于MVC(Model-View-Controller)架构的Web开发框架,旨在帮助开发者构建更加灵活、可扩展且易于测试的Web...
### ASP.NET MVC 3.0 快速入门知识点解析 #### 一、ASP.NET MVC简介 - **ASP.NET MVC** 是一种基于模型-视图-控制器(Model-View-Controller, MVC)架构模式的框架,用于构建动态网页应用程序。这种模式能够清晰地...
【ASP.NET MVC3快速入门】教程旨在帮助初学者迅速掌握ASP.NET MVC3框架的基本操作,通过实例演示如何创建、展示、修改和删除电影类型的管理功能。在这个教程中,我们将涉及以下几个核心知识点: 1. **创建ASP.NET ...
《ThinkPHP5快速入门》...总结来说,《ThinkPHP5快速入门》涵盖了框架的基本结构、核心组件、常用功能及安全策略,是学习ThinkPHP5的理想起点。通过阅读本书,你可以快速掌握这个框架,为你的PHP开发之旅打下坚实基础。
这个"精简源码-spring-mvc 入门级使用"的压缩包文件,旨在为初学者提供一个简单易懂的实践案例,帮助他们快速理解和上手 Spring MVC。 首先,我们从 "spring" 这个标签开始。Spring 是一个开源框架,它提供了一个...
本教程的"PPT主要用来快速入门ASP.NET MVC",涵盖了从基本的MVC架构到相关的前端技术和数据操作。通过学习这些内容,初学者可以迅速掌握ASP.NET MVC的开发技巧,为构建功能丰富的Web应用程序打下坚实基础。同时,...
本快速入门手册通过循序渐进的方式介绍了ThinkPHP5.0的基础使用,包括安装、配置和基本开发流程。对于想入门ThinkPHP的开发者来说,这是一个非常好的学习资源。手册中也提到了ThinkPHP的目录结构、运行环境、入口...