离子漂浮物 2006年02月09日
[原创]用MVC模型引导你的思路
习惯于过程式的开发,一直向往着面向对象。无奈半路出家人,没有一点内力基础,看了一大堆面向对象的书也只是看得一头雾水。对于MVC的概念也是偶然了解到的,感觉能和WEB开发结合起来让项目面向对象化。以下是我一点点心得。
先介绍一下MVC的概念:
MVC(Model-View-Controller),即把一个应用的输入、输出、处理流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。
 模型(Model):就是业务流程/状态的处理以及业务规则的制定。即是MVC的主要核心。
 视图(View):代表用户交互界面,也就是Web的HTML界面。
 控制(Controller):可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。

以下以一个简单的留言板作为分析例子。

1)从上面的概念来看,留言板可以切成三部份。
 模型(M):包含 数据库链接、数据添加修改删除操作。
 视图(V):包含 各种界面,如(留言板列表,管理控制页面,添加修改删除界面等一切用户看得到的页面。)
 控制(C):包含 接到由视图(V)发送过来的请求,转给模型(M),然后根据模型(M)的反馈决定显示界面。

2)三部份已经出来,下面是更进一步的细化。
 模型(M)
  数据链接:数据链接参数、链接失败处理、SQL注入防御处理、日文字符替换处理。
  数据操作:留言的添加删除修改操作、管理员帐号管理、留言板系统设定,操作完毕后以约定好的编码方式返回操作结果。
  文件操作:留言板样式设定、版权设定、搜索引擎关键字设定、留言板标题设定。(由于资料更新不多,但读取频繁,故使用文件方式保存)

 视图(V)
  留言添加页:判断留言者是否管理员、判断本次留言是回复还是新建留言。
  留言管理页:批量删除留言、查询留言、。
  留言显示页:判断留言是否为管理员专用、判断本留言是否为管理员发布、是否允许回复、是否显示留言者的敏感资料、留言是否需要审核后再显示。

 控制(C)
  数据操作:接收添加资料,转交给模型(M)里数据操作中留言操作方法,并获取约定好的编码告诉留言者是否留言成功。
  文件操作:获取设定类型,转交给模型(M)里文件操作的对应操作方法,并获取约定好的编码告诉管理员是否设定成功与下一步操作。

3)系统基本上细化完毕,下一步就是将以上分析出来的东西封装成Class
  模型(M):
    数据库链接部份可以全部封装成一个Class,
    数据操作部份则是把留言的添加删除修改操作部份封成一个Class
    管理员帐号管理及留言板设定封装成一个Class
    文件操作部份则可以全封装成一个Class
  视图(V):
    视图部可均是以文件模式出现,也可以将部份代码封装后引用。也可以引用现有的模板类实现代码分离等。
  控制(C):
    由于直接操作,可以避免使用Class,而是以文件模式出现,每个文件处理模型(M)中的某个类。并完成控制(C)的工作。
    操作结果编码可以作成一个集合来引用。

以上基本完成了留言板的结构分析与类的抽象。这个是我从MVC内得到的心得,写出来希望能对和我一样一直得过程开发的程序开发员有所指引。因为对于这方面我也是个新手,一定会有不严密和错误的地方,请各位高手多多指点。
如果对上面的资料有什么想法和建议的可以到我的Blog找我(http://blog.csdn.net/oyiboy/archive/2006/02/09/595164.aspx)

闲话:欢迎各位有手机的朋友到我的“海鱼手机加瓦站(http://wwww.fishjava.com)”来转转,有不少的免费的手机游戏和图片提供给各位,不但可以在线试玩游戏,直接通过WAP下载游戏和图片,还能自己上传一些好玩的游戏或图片上来大家一起来玩。
...全文
124 点赞 收藏 5
写回复
5 条回复

还没有回复,快来抢沙发~

发动态
发帖子
ASP
创建于2007-09-28

1.9w+

社区成员

35.7w+

社区内容

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区公告
暂无公告