- - PR -
共通ライブラリクラスについて
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-04-24 16:53
あいや間違えた、訂正。
「(;゚Д゚) えー!?」が正解でした。すんません。 たまたま使っていた VS2002 は Webアプリを開いており、かたや VS2003 はWinアプリを開いてました...。そりゃWebアプリにはないわ...というオチ。orz # 早くもGWボケ... | ||||||||
|
投稿日時: 2006-04-24 22:12
DOS の頃は、ディスクの消費量を減らすという観点から、DLL を減らすのがトレンドでした。 # 小さいファイルほど、無駄が多い しかし、トレンドはどんどん変わっています。 DLL Hell 回避の観点から、各プロジェクトに特化した DLL を作るのが、最近のトレンドです。 DLL ではありませんが、DLL Hell で発生するのと同じ問題が発生する可能性があります。 また、DLL は、必要になるまでロードされません。よって、消費するメモリ量を減らすという点でも、DLL 化する方がいいと思います。 # じゃんぬさんの「アセンブリが太る」 書かれている内容からは、「チーム開発で使用する、共通関数を定義したい」という案件だと思います。この場合、1つのソリューションに複数のプロジェクトを作成し、プロジェクトごとに担当者を割り振るのがいいと思います。 〆 written by Jitta@わんくま同盟 on 2006/04/24 □ Microsoft MVP for Visual Developer ASP/ASP.NET October, 2005 - September, 2006 | ||||||||
|
投稿日時: 2006-04-27 09:20
これについて、以前から知りたいと思っていたのですが、DELL Hell は SideBySide で解決されたと言われていますが、まだ生じることはあるのでしょうか?
よく、オンラインで配布されているソフトで、exe と dll が1つずつの組合せにな っていて、exe が小さくて dll がやけにでかかったりしますが、この場合も上記の ようなメリットはあるのですか? それとも、小さな dll を複数作るほうが効率が良いのですか? | ||||||||
|
投稿日時: 2006-04-27 10:01
たぶんそれは、管理しやすいとか開発ツールの特性とか二重起動されたときの処理の関係上そうしているとか、メモリ効率とは別の理由だと思います。 元々の質問のようなケースはDLL化するべきですが、むやみにメモリ効率のためにDLLを分割するのはどうかと思います。 | ||||||||
|
投稿日時: 2006-04-27 10:01
アセンブリの分け方に関する本来のメリットは保守性ですよ。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-04-27 10:16
あいや、被ってしまいましたね。(;^-^)
モジュールは必要になった時に初めてロードされます。 実際には CLR はモジュールを直接ロードできないので、アセンブリがロードされます。 アセンブリはアプリケーション ドメインで管理されます。 一旦、ロードされるとアプリケーション ドメインが解放されない限りアンロードできません。 その他の資源については、適宜 GC がヒマを見つけて回収してくれます。 リソースに関しては効率を心配する必要はありません。 細かい部分については、保守性を重視すれば、自然と望ましい状態になるものです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-04-27 11:07
少し補足。 マルチモジュールアセンブリは、プライマリモジュールをまずロード。必要になった時点でモジュール単位でロードが可能。 なので、あまり使われない型等をサブモジュールに定義していたら、メモリ効率という面で見れば良いかも。何度もロードするという手間はありますが。 _________________ 囚人のジレンマな日々 | ||||||||
|
投稿日時: 2006-04-27 14:22
まいるどきゃっとさん、
じゃんぬさん、 囚人さん ありがとうございました。 なるほど、やはり管理(保守性)で良かったのですね。 Jittaさんの「また、DLL は、必要になるまでロードされません。よって、消費する メモリ量を減らすという点でも」の部分に妙に納得して一人で過剰に反応してしま いました。 変な捕らえ方をしてしまって、申し訳ありませんでした。>Jittaさん |