0

誰かが電子メール (To、CC、件名、本文など) を設定できるプログラムを書いています。次に、定義したセットアップを使用して電子メールを送信するさまざまなトリガーをセットアップできます。

それはどのようにモデル化されますか?EmailTemplate電子メールのセットアップを格納するクラスと、EmailMessage送信された電子メールの実際のインスタンスを表すクラスがありますか?

この質問を見つける可能性のある他の人にこれをより適用できるようにするために、別のクラスのインスタンスを作成するために使用されるクラスをどのようにモデル化しますか (私はそれを正しく言いましたか?)

より良い方法はありますか?私はそれを過度に複雑にしていますか?

4

3 に答える 3

1

メッセージが変更されない場合は、EmailTemplate で十分です。ユーザーが実際の電子メールを変更できる場合は、EmailMessage が必要です。少なくともあなたが私たちに話してくれた詳細からすると、それは非常に単純なシナリオのようです。

ここでも TDD が役に立ちます。テストの形式でいくつかの期待値を記述し、それがどこにつながるかを確認します。

于 2013-09-14T09:18:54.617 に答える
0

@MikeSWがすでに言ったことに加えて、あなたは BDUF をやろうとしているようです。最初に単純なバージョンを試してみてください。そうすれば、クライアントにどのように使用してもらいたいかを想像しやすくなり、小さなステップを使用して再設計およびリファクタリングできます (MikeSW が指摘したように、これにより TDD が適用可能になります)。

別のクラスのインスタンスを作成するクラスに関する質問については、Factory パターンについて言及しています。実際、これは電子メール API の良い方法のように思えます。この設計を検討してください: http://www.limilabs.com/blog/send-email-with-attachment - このように設計されています (「ビルダー」は「工場」のニックネームです)。

于 2013-09-15T10:38:24.190 に答える
0

テンプレートとしてanyEmailMessageを使用し、それを new にコピーしてEmailMessage、ユーザーが必要に応じて変更できるように思えます。

于 2013-09-15T22:49:09.720 に答える