一、 参考资料
1、J2EE技术内幕(J2EE Unleashed) 机械工业出版社(SAMS)
二、 传统的应用开发模式
传统的应用开发是围绕着事件驱动用户界面来组织应用结构。在该模式中,开发人员创建界面,然后在界面的事件中编写相应的动作。对于小型,业务清晰,而且不用重复进行功能、业务修改的应用系统来说,这种模式明显很合适,不但直观,而且方便,开发与运行效率也很高。但对于较大型系统或分布系统,则不一定合适。
l、大多数复杂的应用需要以多种查看数据的方式来查看数据。直接在界面中编写代码导致在系统的多个模块中出现重复,业务的变更需要在多处进行修改。
2、数据操作逻辑、格式化、显示代码同用户事件等代码混在一起时,应用的维护变得非常困难。如果经过一段时间后、或由外人修改代码时,情况可想而知。
3、如果应用逻辑与界面混在一起时,用户界面或应用逻辑都不能被重用。
4、增加、修改功能、界面都需要对代码进行多处的修改,而这样的修改被会非常困难。
5、由于应用逻辑与界面依赖程度太高,造成在团体开发中,无法由多人来开发一个模块。
三、 MVC结构简述
MVC结构即是:模型(Model)-视图(VIEW)-控制器(CONTROLOR)模式。模型代表了应用数据和操作这些数据的方法;视图向用户显示这些数据并接受用户的操作事件,然后转发给控制器;控制器负责解释用户的动作,并把操作发送给模型。然后模型更新视图,反映数据的变化。在模型中不应包含对输入数据格式的翻译工作,该翻译工作由控制器执行,而模型不应该负责判断如何显示结果。
MVC结构中VC中很早就开始使用,在J2EE中得到进一步的推广与完善,现在已经是分布式系统中的一种必选模式了。可惜JinBo以前一直忙于项目,没有时间进行充电,在Delphi中分离应用逻辑与界面设计这方面走了不少弯路,最近才发现MVC结构就是我想要达到的目标,心里那个是恨啊。
四、 MVC结构的优缺点
优点:
1、通过从数据显示和用户交互中分离出数据模型澄清的应用设计。
2、允许使用多种方式观察相同数据。
3、从表示部分分离出应用功能,增强重用性。
4 、增加灵活性,因为数据模型、用户交互和数据显示可以是可拆装的。
5、把应用系统的功能划分由模块变为对象,真正地进行面向对象的系统分析。
缺点:
1、组件间不能实现代码共享,导致应用复杂程度上升,效率下降。(JinBo个人认为Java的运行效率低的其中一个原因就是强调面向对象。假如Java类库设计得跟MFC一样的话,肯定效率会上升很多)
2、存在更多的通信量和其他潜在问题,开发人员必须小