私のアプリケーションにIOCを実装したいのですが、私のアプリケーションでは混乱しています。私はインターフェイスを実装する複数の具象クラスを持っています。基本的には複数のコンクリートタイプにIOCコンテナを使用する
- AddAddress
- AddContact
- RemoveAddress
- RemoveContact
- :
私はintefaceをICommandのを持っており、このインターフェイスを実装する具体的な種類を以下 - :このシナリオを考えてみましょうユーザーはUIでこのすべての操作を実行し、Listはサービスレイヤに渡されます。ここでeac hコマンドが実行されます。
だから、GUI層に私は、最終的にサービス層にlistOfCommandsを渡します
List<ICommand> listOfCommands = List<ICommand>();
listOfCommands.Add(command1);
listOfCommands.Add(command2);
コマンドマネージャで
ICommand command1 = new AddAddress();
ICommand command2 = new RemoveContact();
を書き込みます。
IOCの理解によれば、インタフェースにマッピングされる具体的なクラスは1つだけです。この構文を使用して、具体的な型をStructureMapコンテナから取得します。
ICommand command = ObjectFactory.GetInstance<ICommand>();
このシナリオでIOCを実装するにはどうすればよいですか?