我怎么知道班级是帮助者还是服务员?

时间:2011-09-30 12:28:24

标签: oop design-patterns domain-driven-design

我在我的项目中使用DDD架构,我需要创建一个类来生成要在另一个类中使用的GUID。

生成我的GUID的这个类是基础结构服务还是基础结构助手?

我怎么知道班级何时是帮手或服务?

2 个答案:

答案 0 :(得分:5)

服务能够为某些客户提供服务,通常这是一个SOA特定实体。 Helper提供了一组通常为pure functions的方法。

从我的观点来看,如果提供GUID生成功能的类存储或使用此GUID以满足进一步的需求 - 它是一个Service类,否则我会说它是Helper因为只是按原则工作< em>做并忘记 / 生成并忘记

通常,如果你可以使方法成为static method - 这是一个辅助方法,它不依赖于任何类状态,也不会影响它。

答案 1 :(得分:2)

很高兴你找到了答案,但你可能想重新考虑这个问题。什么是'助手'? DDD或其他任何地方都没有这种模式或刻板印象。看一下这个answer。 [Something] Helper通常是SRP违规的标志,或者只是一个错误的命名。例如,如果您的语言/框架未提供Guid生成(highly unlikely),您可以创建自己的GuidGenerator类。这个名字应该反映出责任。