首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类图结合几个创作者

类图结合几个创作者
EN

Software Engineering用户
提问于 2017-07-23 17:13:31
回答 1查看 508关注 0票数 2

因此,我想为以下场景建模类图:

  • 客户端必须管理三种类型的帐户(Pocket、Postbank、DKB)。以后可能会添加更多类型的帐户。
  • 客户登记变动(费用和收入)。这些变化定义了每个帐户的状态。
  • 虽然收入是相当基本的(只需要登记它的帐户),但费用必须根据其性质(休闲、食物、交通、一般)进行分类,以后可能会增加更多种类的支出。

对于这些需求,我附带了以下建模:

  • “movementFactory”的Singleton实例。它将由两种类型的创造者延长:收入和费用。
  • 费用创建者将通过具体的类来实现,具体取决于所创建的费用类型。

当我试图找出为“费用路径”使用两个“工厂方法”是否有些过火,以及类SingletonMovementProducer在本例中是否是一个很好的实践,或者我如何对给定场景建模时,我就会产生怀疑。

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2017-07-23 22:01:49

会计模型比你所提供的更简单,而且不需要太多的继承。马丁·福勒从2006年开始在https://martinfowler.com/eaaDev/AccountingNarrative.html工作

出于以下几个原因,我认为将子类用于开销类型并不是一个好的设计。

  • 需求没有指定费用类型或移动类型之间的任何实际差异。您需要理解和维护一个过于复杂的设计。
  • 当你有一个用户想要将一项同时属于休闲和食物的费用分类时,会发生什么呢?继承是不灵活的,一个无层次的标签模型(带有组合)可能会更好吗?

我建议你简化一些事情,直到你有了具体的例子来说明为什么需要子类。正如你所看到的,用一个更简单的设计,关于工厂的问题就消失了。

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

https://softwareengineering.stackexchange.com/questions/354315

复制
相关文章

相似问题

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