框架一瞥(基于J2EE)

----------------------------------------------------------------------------------------------

 本文属原创,版权归作者zxhong所有,任何人需要转载文章,必须征得原文作者zxhong授权。

---------------------------------------------------------------------------------------------

《设计模式》一书中有对框架的定义,大概意思是:框架是软件系统的设计、开发过程中的一个概念,它强调对以完成的设计、代码的重复使用,并且,一个框架主要适用于实现某一特定类型的软件系统。放之四海而皆准的框架是不存在的,比如struts框架只适合于b/s结构的web层开发,hibernate框架只适合于b/s结构的持久层开发等。

 

框架应该是某一个架构的具体技术实现,比如struts就是遵循MVC架构实现的,MVC架构就是表现层,控制层,实体层的一个三层或n层架构,层在框架中是一个非常重要的概念,特别是在较复杂的应用中,层的好处非常明显:它可以使开发流程更加清晰,分工更加明确(分工明确的好处是可以让每个开发人员的特点或者说优势得到发挥,不会因为某个开发人员的离开而导致项目无法进行下去,以前的纵向开发中一个人负责一个模块的全部,如果这个人离开,那么这个模块就要瘫痪,这是件非常可怕的事情,而如果使用横向分层开发,这种风险就降低了很多),提高开发效率(层是怎么提高效率的呢?下面我举个例子:比如目前项目种有表现层,业务逻辑层,持久层,持久层的开发人员因为有很多事情要做,不能和业务逻辑层的开发人员同步,那么业务逻辑层的开发人员是不是就不能开发了?当然不是,持久层的开发人员可以和业务逻辑层的开发人员利用很短的时间定义好业务逻辑层功能可能会用到的一些持久层数据由此需要持久层开发的方法的名字以及它要实现的功能,业务逻辑层的开发人员有了这些方法的名字,功能后就可以进行开发了,等到持久层的方法开发出来后,经过简单的调试就可以ok了)等。由此可见:层是个好东西,那么分层是怎么实现的呢? 说到框架中层的技术实现以及框架本身的技术实现,不得不提到面象对象技术和设计模式,基于框架的应用都有两部分构成:框架部分和特定应用部分。要想达到框架复用的目标,必须要做到框架部分和特定应用部分的隔离。使用面向对象的一个强大功能:多态,可以实现这一点。在框架中完成抽象概念之间的交互、关联,把具体的实现交给特定的应用来完成。其中一般都会大量使用了模板模式(Template Method)(定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。),当然还有一些其它常用的方法,比如抽象工厂模式,代理模式等。

 

框架往往都是针对某个特定应用领域的,是在对这个应用领域进行深刻理解的基础上,抽象出该应用的概念模型,在这些抽象的概念上搭建的一个模型,是一个有形无体的框架。不同的具体应用根据自身的特点对框架中的抽象概念进行实现,从而赋予框架生命,完成应用的功能。

 

一个企业框架应该:最大程度地萃取不同企业应用系统的共性,重复使用已经完成的设计和代码,对企业应用系统中典型场景给出最佳解决方案;让一个早先完成的软件产品贴切地适应极为多变、复杂的企业需求。这些框架往往是从大量的项目开发中精选出的系统不变项,因此具有很强的普适性和实用性。

 

基于j2ee标准的框架基本上都是封装了多组类,利用这些类之间特定的相互协作,为一些通用问题,比如说表单的提交,业务的流程,日志的打印,事务的处理等提供解决方案,struts框架中就是通过一个xml文件使比较复杂的业务逻辑流程一目了然。这些框架基本上目的都是使以后的开发流程更加清晰,开发时的分工更加明确,模块间的耦合性更小,后期维护更加容易,开发周期更短,开发风险更小等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值