【问题标题】:Are service object, transaction script and strategy design patterns the same?服务对象、事务脚本和策略设计模式是否相同?
【发布时间】:2016-11-27 15:37:16
【问题描述】:

我找不到服务对象设计模式的任何定义。

事务脚本设计模式

按程序组织业务逻辑,每个程序处理来自演示的单个请求。

策略设计模式

定义一系列算法,封装每个算法,并使它们可互换。策略让算法独立于使用它的客户端而变化。

它们相似/相等吗?

【问题讨论】:

  • 不,他们不是。为什么你认为他们是?你觉得这两句话的意思是一样的吗?您是否阅读了有关这两种模式的更多信息以了解它们?除了“否”之外,您对这个问题的期望究竟是什么?

标签: design-patterns domain-driven-design strategy-pattern service-object


【解决方案1】:

这是Service层模式的定义:http://martinfowler.com/eaaCatalog/serviceLayer.html

服务层描述了系统的用例。这些用例以事务脚本的方式实现。然而,事务脚本模式是另一种野兽——它是一种组织系统业务逻辑的方式。因此,虽然它们相似,但意图不同。您可以将业务逻辑实现为 Active Record 或域模型,但服务层仍将类似于事务脚本。

策略模式旨在封装在系统用例内部使用的可互换算法。

我强烈建议阅读经典的“企业应用程序架构模式”一书,以很好地掌握这些模式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-15
    • 2011-03-03
    • 1970-01-01
    • 2011-03-27
    • 2013-04-14
    • 2014-12-19
    • 2012-08-21
    • 1970-01-01
    相关资源
    最近更新 更多