论坛首页 Java企业应用论坛

贫血就贫血,咂地?

浏览 54126 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-11-02  
同样道理,你会认为持久化也不是一个方面,因为没有持久化,对象根本没办法。实例化。

AOP不光可以只应用在你所说的这些场景。“存款”“取款”这样的服务也都可以是Aspect。
0 请登录后投票
   发表时间:2005-11-02  
firebody 写道
怎可看ajoo说的那个injector都像是Spring/Pico 的autoWire 。
AOP会有大行其道的时候的。我也相信。

不是。那个示例代码确实用了auto-wire,但是,并没有禁止你用manual wire呀。
这个方案的好处,在于除了容器组装那部分,所有代码都是最基本的ioc,都不依赖第三方。
0 请登录后投票
   发表时间:2005-11-02  
ajoo 写道
更何况,即使我们搁置aspect的分歧,你也需要面对那个aop方案里仍然要直接依赖容器,仍然要service locator的弊病。

但我可以做到“单点维护”
0 请登录后投票
   发表时间:2005-11-02  
partech 写道
同样道理,你会认为持久化也不是一个方面,因为没有持久化,对象根本没办法。实例化。

AOP不光可以只应用在你所说的这些场景。“存款”“取款”这样的服务也都可以是Aspect。

没有持久化就无法实例化?那么java.util.List算什么?只要你调用了save(),那么我就可以期待find()的时候找到它。

而如果你直接new BankAccount(),而且BankAccount的构造函数是空的,那样find()能够找到这个对象就是违反因果,违反常识的。

至于说存款,给出例子来,不要空对空。
0 请登录后投票
   发表时间:2005-11-02  
partech 写道
ajoo 写道
更何况,即使我们搁置aspect的分歧,你也需要面对那个aop方案里仍然要直接依赖容器,仍然要service locator的弊病。

但我可以做到“单点维护”


对。代价就是不容易理解和维护的代码,绑定于某个具体容器,不容易单元测试的模块。


其实,几乎任何东西要找都可以找到“好处”的,goto的拥护者肯定能给出goto更多的好处来。ioc的反对者也肯定会说:虽然不灵活,但是我可以直接new,方便。

大家自己权衡了。
0 请登录后投票
   发表时间:2005-11-02  
ajoo 写道
partech 写道
ajoo 写道
更何况,即使我们搁置aspect的分歧,你也需要面对那个aop方案里仍然要直接依赖容器,仍然要service locator的弊病。

但我可以做到“单点维护”


对。代价就是不容易理解和维护的代码,绑定于某个具体容器,不容易单元测试的模块。


其实,几乎任何东西要找都可以找到“好处”的,goto的拥护者肯定能给出goto更多的好处来。ioc的反对者也肯定会说:虽然不灵活,但是我可以直接new,方便。

大家自己权衡了。

某种程度上我完全支持Partech对于AOP容器的见解,具体的根据可以看看我的上个回帖。
0 请登录后投票
   发表时间:2005-11-02  
ajoo 写道
partech 写道
同样道理,你会认为持久化也不是一个方面,因为没有持久化,对象根本没办法。实例化。

AOP不光可以只应用在你所说的这些场景。“存款”“取款”这样的服务也都可以是Aspect。

没有持久化就无法实例化?那么java.util.List算什么?只要你调用了save(),那么我就可以期待find()的时候找到它。

而如果你直接new BankAccount(),而且BankAccount的构造函数是空的,那样find()能够找到这个对象就是违反因果,违反常识的。

至于说存款,给出例子来,不要空对空。

说的是实体对象。

对象在内存中,不管是不是find,总会调用new不管你用多少个工厂,或者通过反射,我就在new返回的时候截获。

Ivar的AOSDWithUseCase里面有详细的描述,中文版刚出,有兴趣可以参考一下。简单的说“存款”等业务,实际就是对“资金帐户”,“利息帐户”等业务对象的横切。
0 请登录后投票
   发表时间:2005-11-02  
不想举例子就算了。不要背书名。这个存款的业务就算没提。你主张你不举证,我们就当没这个证据好了。
0 请登录后投票
   发表时间:2005-11-02  
如图虽然不是存款,含义一样。
0 请登录后投票
   发表时间:2005-11-02  
你认为你的那部分依赖框架的组装代码,就很简洁,很容易理解?
不需要熟悉框架?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics