1

のインスタンスで実行されている操作Add/のロギング用に設計された次のアーキテクチャを検討してください。UpdateEntity

LogFactoryは であり、 を使用しておよびコンストラクタを介してAbstract Factory2 つのファクトリを受け取ります。を生産するためのコンクリート工場と実装の両方。どちらもログ可能なデータを収集する必要があります。さて、すべてが明確になり、これまでのところパターンが正しい解決策であることを認めていただければ幸いです。AddUpdateDIAddLogFactoryUpdateLogFactoryILogFactoryILogEntityAbstract Factory

ここに画像の説明を入力

問題:

UpdateLogFactory追加のデータが必要なため、例外です:ModifiedProperties前/後の文字列を作成します (一方、その兄弟、つまり実装している他の型ILogFactoryは、この種のデータを必要としません; でEntity十分です)。を壊さないようにするために、そのコンストラクターを介しILogFactoryて に渡すことにしました。それは私の問題を解決しますが、私はどういうわけか不正行為をしているように感じます。私は他の人に似ているふりをしていますが、実際にはそうではありません。ModifiedPropertiesUpdateLogFactoryUpdateLogFactory

誰かがUpdateLogFactory別の具象型に置き換えたい場合、それが必要であることをどうやって知るのModifiedPropertiesでしょうか?

4

2 に答える 2