2

さまざまなプロジェクトで使用できる共通のユーティリティ ライブラリを構築する最良の方法は何だろうと思っています。私は.NetとC#を使用しています。

Logging、Authentication、Excel などのユーティリティごとに個別のプロジェクトを作成し、それらを依存関係と共に個別にリリースする必要がありますか、それともすべてのユーティリティを 1 つの共通のユーティリティ アセンブリに含め、すべての依存関係をバンドルして、プロジェクトで必要な依存関係のみを参照する必要がありますか?共通のユーティリティを使用しますか?

4

4 に答える 4

2

おそらく、提供したい機能を (少なくとも一般的には) 把握し、その周りに論理的な名前空間階層を定義します。包括的な定義を取得したら、すべてのライブラリ ファイルを作成し、そのモジュール性を構造化して、1 つの巨大な「すべて」のライブラリではなく、代わりに「ファイル/ディレクトリ ヘルパーassembly".dll、"your DB wrapper assembly".dll、"your UI component assembly".dll など。

于 2008-10-06T23:53:58.430 に答える
1

それは2つのことに依存します。

まず、あなたが束ねているものの間にはどのような関係がありますか? それらをまとめて図書館に入れるのは理にかなっていますか?

第二に、使用モデルは何ですか? すべてのプロジェクトにリンクする標準ユーティリティのセットである場合は、それらをまとめることは理にかなっていますが、さまざまなモジュールを動的にロードして機能を提供するランタイム プラグイン スタイル モデルを使用している場合は、さらに分離する必要があるかもしれません。

于 2008-10-06T23:55:33.343 に答える
1

私はマスター ProductivityLibrary を作成する道をたどりました - ええ、それはばかげた名前空間でした - 私が最もよく使用していたクラスのサブセットと、デザインパターンスイスの壮大なスキームがあることを発見するためだけに-アーミーナイフは、一連のアイデアが生まれるたびに常に再コンパイルされていました. ごちゃまぜになってしまったので、すべてのプラグインを作るのは意味がありませんでした。

1 つの問題を解決する個別のアセンブリを構築します。管理が簡単です。

于 2008-10-07T00:10:35.247 に答える
0

プロジェクト間で共通のソース コードとユーティリティを共有する優れた方法を見つけました。新しいプロジェクトごとに、共通ソース ファイルの同じリポジトリを指す「ジャンクション ポイント」フォルダを作成します。次に、Visual Studio のプロジェクト ツリーで、必要なファイルに対して [すべてのファイルを表示] と [含める] を選択します。これは本当にうまくいきます!簡単でパワフル...

一部のプロジェクトでは使用しない可能性のあるすべての種類のコードを含むモノリシックな common.dll を用意する代わりに、本当に必要なファイルを正確に追加し、多くの緩い dll ファイルなしで単一の exe ファイルを取得します。

もう 1 つのヒントは、EncryptionUtils.cs と NetworkUtils.cs など、同じ部分的な静的 Utilities クラスを持つ別のファイルを用意することです。同じ静的クラスからすべてのユーティリティにアクセスできる場合、コードからユーティリティを見つけるのは簡単です。また、本当に必要なファイルのみを含めるため、これらのユーティリティは Utilities クラスでのみ取得します。

于 2012-03-02T16:45:50.040 に答える