论坛首页 Java企业应用论坛

如何更高效的在层与层之间调用

浏览 14731 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-01   最后修改:2008-12-01

      遇到一个新的框架,分为Action,AO,BO,DAO,Service这几层。Action层基于CoC。AO,BO,DAO又使用的是Spring管理的。Action与AO间使用的名称调用,如:


private String AOName = "cpsMyAuctionAO";

。。。。。

Result result = executeCommand(AOName, "createCpsMyAuction", param);


cpsMyAuctionAO就是action要调用的AO,param是入参,createCpsMyAuction是需要调用的方法。

result就是执行的结果了。


看了底层的代码,是通过一个CommandDispatcherSelector来读取上下文,并通过参数调用AO。但是对于调用的管理难度加大了,当类多起来的,查找之间的关系很困难。请问各位高手有什么更好的解决办法?

   发表时间:2008-12-01  
AO是业务逻辑组装,BO负责单一的业务逻辑,AO+BO相当月ssh中的service层。都是在spring框架内管理的。
0 请登录后投票
   发表时间:2008-12-01  
是web框架,问题在于action调service。因为除action都是在spring的上下文可以管理。但是action是基于0配置的。没有办法直接引入上下文。所以原有的设计者才使CommandDispatcher建立起action和下层的桥梁。但是CommandDispatcher是使用名称调用的。这个才是问题所在。
0 请登录后投票
   发表时间:2008-12-01  
内部讨论这个问题吧, 实际上, 如果你在B2B, 这是我造成的问题. 惭愧.
我们在明年开始解决着个COMMAND设计模式造成的问题.
0 请登录后投票
   发表时间:2008-12-01  
sdh5724 写道

内部讨论这个问题吧, 实际上, 如果你在B2B, 这是我造成的问题. 惭愧.
我们在明年开始解决着个COMMAND设计模式造成的问题.

好几年了,这个问题是该框架一直无法解决的问题。虽然有许多的问题,但是这个框架仍然值得称道。作者宝宝果然是大牛。我也期待你们能尽早解决这个问题。同时也希望网上的各位大侠提出宝贵的意见。
0 请登录后投票
   发表时间:2008-12-01  
见过过度设计,没见过这么过度的,或者该叫过分设计,哈哈哈
0 请登录后投票
   发表时间:2008-12-01  
    我觉得并不是什么过度设计,框架已经实现了CoC。实际使用效果也不错,能较方便的快速开发,只是代码累积到今天,对维护带来了不便。因为现在还没有很好的CoC的解决框架。考虑该框架是在n年前的作品,有问题是正常的。我们还是着眼于如何解决该问题。
    我重新说一下问题,如果我修改了cpsMyAuctionAO,我无法能很快知道有哪些action使用了cpsMyAuctionAO。
0 请登录后投票
   发表时间:2008-12-02  
AO(业务对象)的管理是个问题.WEBX能在多年前做出来的东西,主要关注的是WEB框架,并没有考虑到业务框架, 这个是我们最大的失败. WEBX做出来开始, 是超越当时很多框架对WEB的处理能力, 最根本的原因是当初框架的实践是来自一线开发的意见, webx的代码质量非常可靠, . 这么多年过去了, 落伍了在所难免, 很多局限, 不熟悉的人很难架设新的应用, 陷井也不少.
0 请登录后投票
   发表时间:2008-12-02  
sagah 写道
    我觉得并不是什么过度设计,框架已经实现了CoC。实际使用效果也不错,能较方便的快速开发,只是代码累积到今天,对维护带来了不便。因为现在还没有很好的CoC的解决框架。考虑该框架是在n年前的作品,有问题是正常的。我们还是着眼于如何解决该问题。
    我重新说一下问题,如果我修改了cpsMyAuctionAO,我无法能很快知道有哪些action使用了cpsMyAuctionAO。


简直就是为了CoC而CoC,既然Java不够动态语言那么简洁,适当使用一些通用配置没什么不好的,有时候在追求最后1%的完美的时候,付出的各方面的代价都很大的。
8 请登录后投票
   发表时间:2008-12-02  
这个框架作的项目,如果项目有大量的维护工作,而且人员不是很稳定的话,维护人员会比价累
0 请登录后投票
论坛首页 Java企业应用版

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