C#(ASP.NET MVC5)でUnityを使い、MVC5でDIを実現させようとしています。
私はもともともJavaでDIを使い始めたので、Springが最も馴染みがあるDIコンテナ名です。
そこで、C#でPocoにSpringの@Component/@Service/@RepositoryみたいなAttributeを付けて、
DIコンテナにインスタンスを自動登録したいと思いました。
やりたいことのイメージ
C#
1[Service] 2public HogeService {
しかし、調べてもSpringの@Component/@Service/@Repositorにあたる属性はUnityに存在しませんでした。
それどこから、ほかの.NET製のDIにも、これらの属性はありませんでした。
リフレクションを使ってSpringのComponent Scanに相当する実装を作れば、
@Component/@Service/@Repositor を自作することができます。
しかし、.NET製のDIはどれもインスタンスを手動で登録するような仕組みになっています。
私はSpringのComponentScanに相当する機能を自作するのは、そもそも考え方として間違えているのではないか?
と思うようになりました。
SpringのComponentScanにあたる機能をC#で実装するのは、あまり進められた行為ではないのでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。