看《Core J2EE Pattern 》有感

来源:互联网 发布:淘宝店铺可以改名吗 编辑:程序博客网 时间:2024/04/27 15:25

终于把以前买的这本书浏览了一遍,值得庆贺啊。
书里把J2EE Pattern分为了表示层、业务层和集成层,这些模式分别为:
【表示层模式】
-Intercepting Filter
-Front Controller
-View Helper
-Composite View
-Service to Worker
-Dispatcher View
【业务层模式】
-Business Delegate
-Value Object
-Session Facade
-Composite Entity
-Value Object Assembler
-Value List Handler
-Service Locator
【集成层模式】
-Data Access Object
-Service Activator

在表示层的模式中,都已在Servlet、JSP的规范和框架中实现了,像截取过滤器,在Servlet里有Filter可以继承使用;像前端控制器,在Struts中ActionServlet实现;像视图助手,更是在早期的开发中就已经使用到,JavaBean或Tag library等;至于工作者服务和分发者视图就是前面几种模式的组合使用。所以我觉得在表示层,只要在使用现有的框架之后,自然后遵守了表示层的这些模式的约定。

在业务层的模式和集成层的模式中,像VO、DAO等模式,应该都是我们常用的。业务层的其它模式都与EJB有密切的联系。

总之,联系这15种J2EE的模式,给我留下最深印象的就是“分层”的概念,把问题先按大体这几层分开,再在每层的功能划分出“professional”的小类来,尽量使一个类完成专一而简单(概念上简单)的功能。再一个印象就是在分布式的系统开发中,要注意性能和安全,举个例子,设置前端控制器就可以满足一定程度上对安全的需要;像复合实体,VO模式,意在减轻网络上的数据流量,提高程度的响应度等。

用一句话来说:解耦,解耦,再解耦!

一些废话:我觉得无论方法和技术怎么发展,人们所要做到的“量”是不变的。就像分层,你是分层了,但调试哪,不多花时间嘛?换一个人来接手,他需要一层一层的找啊找,难道不花时间嘛?你说你的程序好维护,前期你不需要了解更多知识,花时间去分析设计嘛?想起金毛狮王在少林寺和尚启发后顿悟的那句话:牛屎谢逊。

原创粉丝点击