0

ソリューションに 2 つのプロジェクトがあります。ASP.NET Web アプリケーションと ASMX Web サービス アプリケーション。ASMX Web サービスは、ASP.NET Web アプリケーション (Web 参照として) で参照されます。

aspx ページで Web サービスのオブジェクトを作成し、次のようにメソッドを呼び出します。

MyWebService myWebService = new MyWebService();
UserDetail userDetail = myWebService.GetUserDetail(25);

これは、私の aspx ページが MyWebService の具体的な実装に依存していることを意味します。Dependency Inversion Principle (DIP) によると、コードは具体的な実装ではなく抽象化に依存する必要があり、それらの抽象化は詳細に依存すべきではありません。詳細は抽象化に依存する必要があります。

この依存関係を削除するにはどうすればよいですか?

Google で次の記事に出くわしましたが、これは似ていますが、探しているものとは正確には異なります。

これらの記事はすべて、依存関係を asmx Web サービスに注入することと、asmx Web サービスの依存関係を asp.net Web アプリケーションに注入しないことについて説明しています。

私は依存性注入という用語の初心者であり、間違った方法で考え、間違った方向に進んでいる可能性があります。

この混乱を理解するのを手伝ってください。

4

2 に答える 2

2

このコードを Web ページに記述する理由は何ですか? そのような呼び出しを処理するレイヤーを作成し、そのレイヤーに操作の実行方法を決定させることができます。

これにより、次のことが可能になります。

1) 機能を疎結合にします。

2)冗長性を取り除きます。

于 2013-09-04T04:00:28.893 に答える