0

私たちの新しいアプリケーション 1) Web アプリケーション (MVC3) 2) Web サービスは、COM ベースのビジネス層との相互運用を介して通信する必要があります

.Net でビジネス レイヤーのラッパーを作成して、COM dll を上記の 2 つから切り離し、1 つの場所 (ラッパー) で機能強化を行ったり、COM を別のものに完全に置き換えたりすることを計画しています。

          For eg: if there is a COMClassA and ICOMClassA. create a new WrapperClassA in .Net which will essentially have an instance of the COMClassA and required properties. 

Web アプリケーションと Web サービスで WrapperClassA を使用する

私の質問 1) これは正しいアプローチですか? 2) もしそうなら、.Net ラッパーを作成するための最良の方法は何ですか?
COM dll には、約 100 以上のクラスと対応するインターフェイスがあります。コード生成技術はありますか?
3) コード生成を最小限に抑えるためにいくつかの設計パターンを使用できますか、または COM ベースのビジネス層を分離するための他の代替手段はありますか

注意: Web サービスを作成して ASP .Net アプリケーションで使用することは望ましくありません。これは、かなりのパフォーマンスの問題が発生する可能性があるためです。

どんな助けでも大歓迎です。Stackoverflow コミュニティは素晴らしい仕事をしています。

ティア

4

1 に答える 1

0

デビッド・ウィーラー -

コンピュータ サイエンスの問題は、間接的な別のレイヤーで解決できます。

あなたの質問の次の文に同意します。

COM dll を上記の 2 つから分離するために、.Net のビジネス レイヤー用のラッパーを作成して、1 つの場所 (ラッパー) で機能強化を行ったり、COM を別のものに完全に置き換えたりすることを計画しています。

これにより、問題のある領域を「選んで選択」したり、領域を書き直したり、領域をそのままにしておくことができます。COM コンポーネントの少なくとも 1 つが黒魔術を実行することはほぼ保証できます... 5 年前に元コンサルタントまたは元従業員によって作成されました... 笑

残念ながら、私が知る限り、間接的なレイヤー (またはレイヤー) を手動でコーディング/設計する必要があります。ただし、VS.NET (および Resharper と CodeRush) のリファクタリング/自動生成メソッドの一部は、少しは役に立ちます。しかし、結局のところ、あなたは自分の製品 (およびデザイン) を誰よりも (またはどのツールよりも) よく知っています。

于 2012-05-11T14:44:31.577 に答える