由一道题目融会贯通21种javaEE模式
来源:互联网 发布:java 数组做形参 编辑:程序博客网 时间:2024/05/12 11:59
声明:只要你是java程序员,不管你有没有接触过javaEE模式,这篇文章都适合你看。
说到javaEE模式,很多人会想到设计模式,但两者毕竟是不同的:
1)javaEE模式是架构模式,架构模式和设计模式都是用来提高软件系统灵活性(Flexibility),架构模式更侧重的是系统总体和层次间的灵活,设计模式更侧重的是局部功能模块的灵活。
2)javaEE模式大部分是基于设计模式之上的,如javaEE模式中的拦截过滤器模式(Intercepting Filter)就是一种装饰模式(Decorator Pattern)的体现,再如javaEE模式中的Session Facade模式就是一种门面模式(Facade Pattern)的体现。
我很了解,GoF的23种设计模式已经让程序员学的欲仙欲死了,这突然有了所谓的21种javaEE模式,简直撞墙的心都有了。哈,其实javaEE模式比设计模式好学,原因在于:
1)javaEE模式主要是一种架构上的思想,具体实现形式非常简单。
2)平常我们不知不觉中已经用过很多javaEE模式了,比如BO(Bussiness Object);DAO(Data Access Object);TO(Transfer Object),传说中的DTO就是TO;Demain Stroe,相当于持久层框架,如Hibernate,如JPA。
3)javaEE模式在特定的场合就是特定的选择其中的某一种,而且几乎没有变体,所以当需求符合时,基本直接套用就行。
接下来,我通过一张图将21种javaEE模式进行融会贯通,也期望能给读者一定的启示,前提是你知道或者你可以查得到21中javaEE模式的概念来对号入座。
我们来看一道题目:
如果读者接触过javaEE模式的设计,可以先想想再看我后面的设计图。如果读者对javaEE模式不是很了解,也没关系,下面的图里包含了全部21种javaEE模式,没看懂的可以去查找资料,再回到图中对号入座。
以下是设计图的链接,由于图太宽,屏幕放不下,只能放其他地方了,ctrl+滚轮可以放大图(组件图):
http://wubinyu.5d6d.net/viewthread.php?tid=92&page=1&extra=#pid289
在展示了设计图之后有几点我需要声明一下:
1)此设计图过度设计,而且过度的有点过分,读者完全可以用很简单的几种javaEE模式和组件就可以表达清楚题目的需求。
2)我这张设计图不是单纯为了完成题目需求而设计的,我这张设计图是为了想方设法将几乎所有javaEE模式都包含进来而设计的。
3)这张图的作用不是教读者如何合理的设计,而是帮读者能较容易的记住21种javaEE模式的使用场合,能在碰到特定需求的时候将相应的javaEE模式进行对号入座。
- 由一道题目融会贯通21种javaEE模式
- 由一道数据结构题目想到的
- 由一道面试题目想到的
- 由一道题目引出的java多态
- 由一道acm题目所想到
- 融会贯通
- 由一道题目想到的C++编译器优化问题
- 由一道题目总结幂级数的收敛域问题
- 由一道牛客题目想到系统调用和库函数
- 初探“递归”——由一道题目引出的问题
- 融会贯通——工厂模式全方位解析
- 融会贯通——工厂模式全方位解析
- 一道题目
- 一道题目
- 一道题目
- 一道题目
- 一道题目
- C++中栈区 堆区 常量区(由一道面试题目而学习)
- 关于ARM的中断服务程序
- system命令设置颜色
- 324 运河城 城主争霸赛!浩哥 你要逆天吗???
- 这次又是为什么
- 【译文】iframe加载技术
- 由一道题目融会贯通21种javaEE模式
- 开源 Apache 服务器安全防护精要
- 传统3D游戏引擎的Web化
- tslib-1.4的安装与移植
- android 利用ViewFlipper来实现滑动切换Activity
- 70道Android经典面试题和答案,几乎包含所有重要知识点
- 测试一下
- ios之读取文件类
- linux 小企鹅输入法 方块乱码(fcitx error)