2012-05-11 12 views
0

私たちの新しいアプリケーション 1)Webアプリケーション(MVC3) 2)我々はためのラッパーを作成することを計画している私たちのCOMベースのビジネス・レイヤーC#の.Netラッパー

とinteropsを介して通信する必要があります ウェブサービス.NETのビジネスレイヤーを使用して、上記の2つのCOM DLLを切り離して、COMを何か他のものに完全に置き換えるための場所(ラッパー)を1つ用意します。

  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 Wrapperを作成する最良の方法は何ですか?
COM DLLには、100以上のクラスと対応するインターフェイスがあります。任意のコード生成技術?
3)に注意してください、我々は、コード生成 を最小限に抑えるために、いくつかのデザインパターンを使用するか、COMベースのビジネス・レイヤー

を切り離すため、他の代替がありますことができます:我々はWebサービスを作成し、ASP .NETで消費したくありませんアプリケーションには、かなりのパフォーマンスの問題があると思われるためです。

ご協力いただきますようお願い申し上げます。あなたは素晴らしい仕事をしています。

TIA

答えて

0

デビッド・ウィーラー -

コンピュータサイエンスの任意の問題は、間接の別の層で解決することができます。

私たちは1を持っているように、上記2からCOM DLLを分離するために.NETのビジネス層のためのラッパーを作成することを計画している:私はあなたの質問に次のステートメントに同意

COMを何か他のものに完全に置き換えるための場所(ラッパー)。

これにより、問題のある領域を選択したり、領域を書き換えたり、1つの領域を残したりすることができます。あなたのCOMコンポーネントの少なくとも1つが、5年前にいくつかの元コンサルタントか元従業員によって書かれた黒の魔法を実行することをほぼ保証することができます... LOL

残念ながら、インダイレクションのレイヤー(複数可)を手動でコード化/設計します。しかし、いくつかのVS.NET(とResharperとCodeRush)のリファクタリング/自動生成メソッドはあなたを少し助けます。しかし、今日の終わりにあなたの製品(およびデザイン)を誰よりも(または任意のツール)知っている。