ウェブサイトのいくつかのページに最新ニュースとして表示するテキスト、画像などを含むモデル「ニュース項目」があります。この「ニュース記事」は、Twitter や Facebook にも投稿できます。ニュース アイテム モデル内にメソッド post を実装し、さまざまな投稿実装を戦略として注入することはクリーンですか? それとも、これには別のアプリケーション サービスを用意したほうがよいのでしょうか。
ありがとう
ウェブサイトのいくつかのページに最新ニュースとして表示するテキスト、画像などを含むモデル「ニュース項目」があります。この「ニュース記事」は、Twitter や Facebook にも投稿できます。ニュース アイテム モデル内にメソッド post を実装し、さまざまな投稿実装を戦略として注入することはクリーンですか? それとも、これには別のアプリケーション サービスを用意したほうがよいのでしょうか。
ありがとう
モデルには属しません。アプリケーション サービスの方が適切です。
IPostService
たとえば、メソッドを使用してインターフェイスを作成しますPostItem
。次に、 を実装する Twitter と Facebook の具体的な実装を個別に作成します IPostService
。
私はそれらをいわゆるModelCommandsに入れます。
そのため、ドメイン モデルに加えたい変更の単位ごとに、それらをモデル コマンドにまとめて、個別にまたはチェーンで実行します。これにより、トランザクションの永続性を無視する作業単位パターンを組み込むこともできます。
ご覧ください: http://msdn.microsoft.com/en-us/magazine/dd882510.aspx