【问题标题】:Domain model - modeling a template class and the instance class?领域模型 - 建模模板类和实例类?
【发布时间】:2013-09-14 04:52:41
【问题描述】:

我正在编写一个程序,其中有人可以设置电子邮件(收件人、抄送、主题、正文等)。然后,他们可以设置各种触发器,从而使用他们定义的设置发送电子邮件。

如何建模?我是否有一个 EmailTemplate 类来存储电子邮件设置,然后还有一个 EmailMessage 类来代表已发送电子邮件的实际实例?

为了使其更适用于可能会发现此问题的其他人,您如何为用于创建另一个类的实例的类建模(我说得对吗?)?

有没有更好的方法?我是否过于复杂了?

【问题讨论】:

    标签: .net oop uml domain-model


    【解决方案1】:

    如果消息永远不会改变,那么 EmailTemplate 就足够了。如果用户可以更改实际的电子邮件,那么您需要 EmailMessage。这似乎是一个非常简单的场景,至少你告诉我们的细节是这样的。

    TDD 在这里也可以提供帮助,以测试的形式写一些期望,看看它会导致什么。

    【讨论】:

    • 好吧,用户可以随时更改消息……但我想我必须决定保存消息历史记录是否有任何价值
    【解决方案2】:

    除了@MikeSW 已经说过的,您似乎还尝试做BDUF。首先尝试一个简单的版本 - 然后更容易想象您希望您的客户如何使用它,然后使用小步骤重新设计和重构(这使得 TDD 适用,如 MikeSW 所述)。

    关于您关于创建另一个类的实例的类的问题 - 您指的是Factory pattern。事实上,这似乎是使用电子邮件 API 的好方法。考虑这个设计:http://www.limilabs.com/blog/send-email-with-attachment - 它是这样设计的(“builder”是“factory”的昵称)。

    【讨论】:

      【解决方案3】:

      似乎您可以使用任何EmailMessage 作为模板,将其复制到新的EmailMessage,然后允许用户根据需要进行更改。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多