论坛首页 Java版 Spring

Aspect-Oriented Software Development with Use Cases读后感

浏览 10980 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2005-04-05
刚初初读了一下Ivar Jacobson的大作 Aspect-Oriented Software Development with Use Cases,收获良多。
无疑我的开发方法将会很大的变化。最初接触AOP知道它能够横切有关对象的不同方面,而且仅仅局限于同业务关系不大的其他方面,如持久化事务、Log、Remoting、Cache等等。
然而Ivar Jacobson的使我大开眼界,原来业务层中Aspect也无处不在。正如普鲁斯特的《追忆似水年华》“原来软件还可以这样来写”。老人家确实是值得钦佩,这样的年纪还热情依旧!对于我们这些后生可以一个不小的鼓舞啊。做技术的也可以常青。

还没来得及仔细的研究。
但将用例贯穿软件开发的整个过程,而不光是需求阶段;
通过Aspect实现控制类;
通过Aspect实现扩展;
对于关注点如何分离的论述。
已经使我感到震撼了。
还在等什么?通向未来的大门就在这里。“芝麻开门啊~~~”
   
最后更新时间:2005-04-05
谢谢提供这个资源,我也要看! 
   
0 请登录后投票
最后更新时间:2005-04-05
老早下载了电子书,看着很费劲亚,不如partech给大家讲讲。
   
0 请登录后投票
最后更新时间:2005-04-05
gigix 写道
老早下载了电子书,看着很费劲亚,不如partech给大家讲讲。

呵呵,还没有这个能力乐。刚敖夜读了一遍。大家多交流才会进步快。
以Minimal Use-case Design Slice 组成的“洋葱”式软件开发模式确实很吸引人,
关键在于如何来清晰的拨开这些构成洋葱的皮。

另外我担心性能上会不会影响很大?得做些测试。
   
0 请登录后投票
最后更新时间:2005-04-05
partech 写道
gigix 写道
老早下载了电子书,看着很费劲亚,不如partech给大家讲讲。

呵呵,还没有这个能力乐。刚敖夜读了一遍。大家多交流才会进步快。
以Minimal Use-case Design Slice 组成的“洋葱”式软件开发模式确实很吸引人,
关键在于如何来清晰的拨开这些构成洋葱的皮。

另外我担心性能上会不会影响很大?得做些测试。

说性能上有很大影响肯定是站不住脚的,你细想想就知道,没有哪个环节是本质上严重影响性能的。
   
0 请登录后投票
最后更新时间:2005-04-05
gigix 写道
说性能上有很大影响肯定是站不住脚的,你细想想就知道,没有哪个环节是本质上严重影响性能的。

有一种情况,原来的实现抛出一个异常,扩展是基于捕获该异常的实现。
   
0 请登录后投票
最后更新时间:2005-04-05
另外如果是基于反射的实现,会不会也有些影响效率呢?会影响多少?

http://docs.codehaus.org/display/AW/AOP+Benchmark
   
0 请登录后投票
最后更新时间:2005-04-06
继续学习
把用例看作横切关注点
因为一个关注点影响多个类,用例实现会涉及多个类,所以可以把用例看作横切关注点。

如何鉴别和描述Aspect?
软件最终是为了实现涉众关注,交付给用户价值的。Aspect也就由此产生。通过用例来描述不同涉众(包括最终用户,项目发起人,开发人员等)分散的关注点,使用Aspect技术来
组合这些关注点得到一个完整的系统。

一个例子:
设想你刚买了一套新房,由于建筑商的遗忘,它一个空房子,没有电线,没水管,没有电话线,没有煤气管道并且没有Internet接入。每一个缺少的设施和服务就好比一个不同的关注点,很明显需要不同的专家来安装各自的设施或服务。这些专家在你提供的房子结构图上分别提供了电线,水管,电话线,煤气,Internet接入的计划图纸。这好比是不同的Aspect。把这些图纸都做成幻灯片,在幻灯机上叠加,会看到完整的效果。这就好比整个系统。假如发现电话线需要改动,只需要抽出电话线的幻灯,修改它就行了。
   
0 请登录后投票
最后更新时间:2005-04-06
等我搬凳子来先。

老师好!

:D  
   
0 请登录后投票
最后更新时间:2005-04-06
partech 写道

一个例子:
设想你刚买了一套新房,由于建筑商的遗忘,它一个空房子,没有电线,没水管,没有电话线,没有煤气管道并且没有Internet接入。每一个缺少的设施和服务就好比一个不同的关注点,很明显需要不同的专家来安装各自的设施或服务。这些专家在你提供的房子结构图上分别提供了电线,水管,电话线,煤气,Internet接入的计划图纸。这好比是不同的Aspect。把这些图纸都做成幻灯片,在幻灯机上叠加,会看到完整的效果。这就好比整个系统。假如发现电话线需要改动,只需要抽出电话线的幻灯,修改它就行了。


这和TransactionScript不是一样了吗?对象退化为数据包,在一层层Script中传递,每个Script为数据设置一类属性。
   
0 请登录后投票
论坛首页 Java版 Spring

跳转论坛:
JavaEye推荐