MVC的一幅简单素描

 作者:Flyingis

 

素描工具: Struts + Hibernate 3

素描对象:一个足够简单的基于 MVC Web 应用

目的:使用 Struts 分离业务逻辑与表现,使用 Hibernate 分离数据操作与业务逻辑,整理一种基本的 MVC 开发思路。

 

1. 素描框架
 

    该素描主要体现在系统层次的功能划分,系统结构的组织与设计上,素描足够简单,数据库中只涉及一张表:

    学生信息(学生编号、姓名、性别、年龄、专业信息)--Student( id, name, gender, age, specialty_id )

  • 系统设计

    公共类的设计与实现

    各模块的详细设计,主要描述一个基本的 CRUD 操作,以及对象数据传递

  • 系统的部署、测试与发布

2. 公共类设计
 

    基本的 CRUD 操作封装在基本的帮助类 HibernateHelper 中,实现 Object load(Class theClass, java.io.Serializable id) Query createQuery(String queryString) void setQueryParameter(Query query, String name, Object val) List list(Query query) void save(Object o) void update(Object o) void delete(Object o) void saveOrUpdate(Object o) 等这些基本方法。
 

    常量单独封装在 Constants 类中。

 

3. 各种对象设计

  • ActionForm:StudentForm-- 用于视图层与控制层之间传递数据。
  • 接口 StudentIf-- 实现了学生数据对象 Bean 所需要的所有接口方法。
  • 学生数据对象 StudentData-- 实现了记录学生对象数据的功能,并可以用作数据交互的传输对象,它实现了接口 Serializable StudentIf
  • 学生实体 Bean StudentBean-- 实现了学生实体的所有属性,它实现了接口 Serializable StudentIf

4. 对象管理实现类
 

    业务逻辑处理为项目的核心,直接关系到项目是否符合用户需求。因此,我们可以单独设计一个对象管理实现类 ManagerFacade,定义处理业务对象的CRUD操作,以增加学生信息为例public StudentIf addStudent(StudentIf student)。学生数据对象StudentDataAction中通过StudentForm接收到表现层传入的数据,然后作为ManagerFacade对象的addStudent方法的参数传入方法内,在方法体内声明学生实体StudentBean的一个对象,将学生数据对象即传入参数中的属性值赋给实体对象,然后调用公共类HibernateHelper的save方法完成数据库操作。其他基本操作与此类似,这样设计似乎对象较多,但各层之间分工明确,有利于降藕。

    另外,在数据传递过程中,还会涉及到数据类型的转换,可以专门设计帮助类来完成。

 

5. 页面 UI 设计
 

    除了设计美观的页面外,最重要的是页面结构要符合项目需要,并提供一定的使用体验,有时候简单实用就是最好。如果可以对用户浏览器统一规范要求,或是基本不会屏蔽 Javascript ,数据格式的控制可以放在客户端用 Javascript 实现。

 

6. 系统的部署、测试与发布。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在刚刚步入“多层结构”Web应用程序开发的时候,我阅读过几篇关于“asp.net三层结构开发”的文章。但其多半都是对PetShop3.0和Duwamish7的局部剖析或者是学习笔记。对“三层结构”通体分析的学术文章几乎没有。 2005年2月11日,Bincess BBS彬月论坛开始试运行。不久之后,我写了一篇题目为《浅谈“三层结构”原理与用意》的文章。旧版文章以彬月论坛程序中的部分代码举例,通过全局视角阐述了什么是“三层结构”的开发模式?为什么要这样做?怎样做?……而在这篇文章的新作中,配合这篇文章我写了7个程序实例(TraceLWord1~TraceLWord7留言板)以帮助读者理解“三层结构”应用程序。这些程序示例可以在随带的CodePackage目录中找到——   对于那些有丰富经验的Web应用程序开发人员,他们认为文章写的通俗易懂,很值得一读。可是对于asp.net初学者,特别是没有任何开发经验的人,文章阅读起来就感到非常困难,不知文章所云。甚至有些读者对“三层结构”的认识更模糊了……   关于“多层结构”开发模式,存在这样一种争议:一部分学者认为“多层结构”与“面向对象的程序设计思想”有着非常紧密的联系。而另外一部分学者却认为二者之间并无直接联系。写作这篇文章并不是要终结这种争议,其行文目的是希望读者能够明白:在使用asp.net进行Web应用程序开发时,实现“多层结构”开发模式的方法、原理及用意。要顺利的阅读这篇文章,希望读者能对“面向对象的程序设计思想”有一定深度的认识,最好能懂一些“设计模式”的知识。如果你并不了解前面这些,那么这篇文章可能并不适合你现在阅读。不过,无论这篇文章面对的读者是谁,我都会尽量将文章写好。我希望这篇文章能成为学习“三层结构”设计思想的经典文章!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值