由一道题目融会贯通21种javaEE模式

声明:只要你是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模式进行对号入座。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值