- - PR -
モジュール(dllファイル)の構成について
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-02-02 21:34
VB .NETでアプリケーションを開発しています。
作成しているvbソースファイルが数十ファイルあるのですが、コンパイルした後に、*.vbファイル1つに対してdllも1つ作成するのか、複数の*.vbファイルをまとめてdllにするのか、その方針で迷っています。 どちらの場合でも、出来上がった*.dllファイルを/binに配置すれば、IISから参照できるので実行可能だと思いますが、何か違う部分があるのでしょうか?特に決定的な理由もないので決めかねています。 ご意見をお聞かせください。よろしくお願いします。 | ||||||||
|
投稿日時: 2006-02-02 22:04
ソースファイル単位でプロジェクトを分けて別DLLにするなんて話、聞いたこと無いです。普通は機能面での纏まり毎に分割するでしょう。結果的に機能ごとに分割したら、それがソースファイル毎だったと言うことはあるかもしれませんが・・・。
プロジェクトを分割して数が増えれば、プロジェクトを管理すためのコストも増大します。DLLにすることによって得られるメリットと、それによって発生するであろうデメリットを共に判断すれば、自ずと適当なところに落ち着くのではないですか? 少なくとも私には、複数のプロセスで共有される可能性もあるモジュール、あるいは動的に差し替える可能性のあるモジュール、実行コードが大きくメモリの節約のため動的にロードする必要のあるモジュールのいずれかでない限り、DLLにするメリットと言うのは思い当たりません。また、それで分割するとしても、それは機能単位での分割であって、ソースファイル単位で分割しようとは夢にも思わないでしょう。 | ||||||||
|
投稿日時: 2006-02-03 01:20
CLR ローダーは必要最小限のものしかロードしません。
必要になった時にオンデマンドでロードします。 リソースに関して心配することはありません。 保守や運用を第一の視野に入れるべきでしょう。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-02-03 05:03
逆に管理以外のデメリットってなにがあるんだろう?
やったことないので想像できない、、 、、他人に見られたらちょっと恥ずかしい、、かも < デメリット | ||||||||
|
投稿日時: 2006-02-03 09:21
返答ありがとうございます。
とりあえず、どの纏まりでDLLにするかによって性能などには影響がないようでしたら、機能単位にしようかと思います。ただ、1つの*.vbファイルに対して1つの*.dllという方法を用いた場合は動いていたんですが、試しに全部まとめて1つのDLLにしたら、クラスがロードできないというエラーになってしまいました。作成したDLLの中に間違いなく含まれているクラスなんですけど、ロードできないということで、現在は原因を調査中です。 ところで、下記に「DLLにするメリット…」という返答をいただいていますが、DLLにする以外でなにか方法があるということでしょうか?
| ||||||||
|
投稿日時: 2006-02-03 09:30
そもそも、件名が「モジュール」となっているところからして、
DLL (アセンブリ) の単位を誤解していたのかな?
例外などのメッセージは正しく、例外の種類なども正しく記載してください。
リンクとして参加させる... ただ細分化しないとアセンブリが肥満化しますけど。 今やプロジェクト参照もあり、固め直す作業は不要になっているので、 クラス ライブラリで良いと思いますけどね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-02-03 09:40
勘ですけど /binの中に、「1つの*.vbファイルに対して1つの*.dllという方法を用いた」dllと「全部まとめて1つのDLLにした」dllの両方が配置されていませんか? | ||||||||
|
投稿日時: 2006-02-03 10:09
ヒント:プロジェクトのルート名前空間(VB.NETの機能)
|