0

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

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

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

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

4

3 回答 3

1

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

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

于 2013-09-14T09:18:54.617 回答
0

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

于 2013-09-15T22:49:09.720 回答
0

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

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

于 2013-09-15T10:38:24.190 回答