JavaWeb工程下,基于代理模式的两种层次结构比较分析
2011-12-11 20:10
253 查看
对于JavaWeb工程,个人认为很多人后台处理是非常高深的事情,其实通过这段时间的理解与实践,我个人感觉要想把后台写的漂亮,无非需要注意两点:一是对于javase的编程理解,二是对框架搭建的理解。在这两点之上我认为贯穿整个后台设计之中的是编程人员时刻清晰的思路。下面是我对近期发现的两个web框架搭建方法的一些感悟,其实本人也是菜鸟一只,理解比较肤浅,不过对于刚刚入门的同僚,我相信还是有帮助的。
以上是两种布局:
第一种,是structs框架。util,filter,dbc都是工具包,主要是封装了一些常用的方法,如编码适配器,数据库连接等。而需要关注的是model,action,dao,及dao-impl和proxy两个包。这里面,通过分析,可以理解为action是业务层,负责处理业务,对于action,里面调用的都是proxy代理类里面的方法,所以proxy属于是业务层和持久层的一个中间逻辑层,主要的作用就是静态代理。当继承了dao接口的impl类需要做处理的时候,我们可以在proxy之中做,然后调用的方法不变。但是如果批量做处理的时候,这种方法就显得捉襟见肘了。然后是model类,这里面主要是相当于工厂模型中的vo,封装了对象,然后实现get和set方法。但是个人认为同样纯在一些问题。即持久层对象并未和业务层对象相分离的方法。尤其当以后用到hibernate需要严格将对象和表结构相映射的时候,就会出现问题。
第二种,严格将程序分为业务层和持久层,主要应用了ssh框架。相比较可以发现,这种结构有一个好处,就是将持久层对象和业务层对象相分离,有助于对象的抽象。大家可以发现,这回业务层的action直接调用的是继承dao的impl方法。没有出现代理类。这是因为这种结构应用了spring提供的aop,也就是一种动态代理的手段,在配置文件中将方法进行装配。
这两种方法都有优点和不足,在实际应用中我们应该选择最合适的方法进行分析。如果有理解失误的地方忘各位批评指正。
以上是两种布局:
第一种,是structs框架。util,filter,dbc都是工具包,主要是封装了一些常用的方法,如编码适配器,数据库连接等。而需要关注的是model,action,dao,及dao-impl和proxy两个包。这里面,通过分析,可以理解为action是业务层,负责处理业务,对于action,里面调用的都是proxy代理类里面的方法,所以proxy属于是业务层和持久层的一个中间逻辑层,主要的作用就是静态代理。当继承了dao接口的impl类需要做处理的时候,我们可以在proxy之中做,然后调用的方法不变。但是如果批量做处理的时候,这种方法就显得捉襟见肘了。然后是model类,这里面主要是相当于工厂模型中的vo,封装了对象,然后实现get和set方法。但是个人认为同样纯在一些问题。即持久层对象并未和业务层对象相分离的方法。尤其当以后用到hibernate需要严格将对象和表结构相映射的时候,就会出现问题。
第二种,严格将程序分为业务层和持久层,主要应用了ssh框架。相比较可以发现,这种结构有一个好处,就是将持久层对象和业务层对象相分离,有助于对象的抽象。大家可以发现,这回业务层的action直接调用的是继承dao的impl方法。没有出现代理类。这是因为这种结构应用了spring提供的aop,也就是一种动态代理的手段,在配置文件中将方法进行装配。
这两种方法都有优点和不足,在实际应用中我们应该选择最合适的方法进行分析。如果有理解失误的地方忘各位批评指正。
相关文章推荐
- “直接基于成本法”与“模拟权益法”两种合并报表模式比较与分析:响应新准则
- mokid 工程代码下载与结构分析与两种机理的简单解析
- 深入分析JavaWeb Item18 -- JavaWeb的两种常用开发模式
- 深入分析JavaWeb 19 -- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
- 深入类加载器-类加载器作用,类缓存、类加载器的层次结构、ClassLoader类介绍、代理模式之双亲委派机制
- JAVA的动态代理模式分析以及与spring AOP的比较
- Web应用扫描测试工具Vega Vega是Kali Linux提供的图形化的Web应用扫描和测试平台工具。该工具提供代理和扫描两种模式。在代理模式中,安全人员可以分析Web应用的会话信息。通过工具自
- 篇章结构类型、层次及分析模式研究
- 深入分析JavaWeb 18 -- JavaWeb的两种常用开发模式
- 两种单例模式的比较分析
- spark基础之基于yarn两种提交模式分析
- 深入分析JavaWeb Item19 -- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
- FTP协议分析(FTP两种连接模式详解)
- 基于JPEG2000的Kakadu开源代码结构和移植性分析
- 基于用户细分的比较分析
- Proxy 代理对象结构模式
- Android源码的层次结构分析
- 后缀数组两种算法的分析比较
- 结构型-代理模式
- 高并发压力下nginx动静分离、nginx代理缓存两种模式的性能比较