首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >命令模式和责任链

命令模式和责任链
EN

Stack Overflow用户
提问于 2012-12-03 08:05:36
回答 2查看 4.5K关注 0票数 2

在我的应用程序中,我需要按照一定的步骤从数据库加载数据,例如加载所有客户,然后加载所有订单和加载产品等。然而,在一两种情况下,顺序不同,还需要加载额外的数据。

代码语言:javascript
运行
复制
abstract Model
{
   public void load(Configuration config) {
      loadCustomers(config);
      loadOrders(config);
      loadProducts(config);
   }
}

ConcereteModel1 extends Model {
   doesn't overload load
}

ConcreteModel2 extends Model {
   public void load(Configuration config) {
      loadProducts(config);
      loadOrders(config);
      loadCustomers(config);
      loadAdditional(config);
   }
}

我最初的想法是,如果我可以使用命令模式(具有加载命令方法)来实际加载客户、订单或产品,并使用责任链来捆绑命令。这是一种很好的方法,还是我在这方面做得太过了?

任何示例代码都会非常有用。感谢您的建议

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-03 16:17:30

这听起来像是您的任务的正确选择。或者,您需要为数据加载步骤创建一个基类,并针对特殊情况以不同的方式实现它。

这完全取决于确定您是否有特殊情况的最简单方法。

有关代码示例,请参见this description of Chain of Responbsibility

票数 1
EN

Stack Overflow用户

发布于 2013-05-02 16:50:15

我认为你必须要注意:

您正在使用技术方法(例如,命令模式)来隐藏域规范 ("...然而,在一两种情况下...“)。

我建议开发一个引起第二个问题的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13675437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档