大規模なJava/.Net Enterpriseプロジェクトでは、すべての開発者がビルドするために、クラスパス/ローカル開発環境にすべてのコンポーネント/ライブラリ/依存関係を持っている必要がありますか?
または、それらを小さなセクションに分割して、個別に構築することができますか(すべての依存関係を参照する必要がないように)?
つまり、アプリケーション全体を実行する場合は、すべてのコンポーネントが必要です。ただし、アプリのサブセットのみを実行している場合は、対応するコンポーネントのサブセットのみが必要になります。
大企業プロジェクトは通常、最初の方法で編成されていますか、それとも2番目の方法で編成されていますか?
考えられる編成は、自己完結型であるが他のモジュールによって参照されているプロジェクト全体のモジュール(つまり、依存関係ツリーのリーフノード)で作業している場合です。
もう1つの構成は、使用するクラスを動的にロードする場合、クラスパスにクラスを含めずにビルドできることです。それを実行するには、クラスパスは実際にロードしたものにアクセスするだけで済みます(プロジェクトのさまざまな部分を形成し、ロードしないものが他にもたくさんある場合があります)。
これらは理論上の可能性です。しかし、実際には、エンタープライズプロジェクトの標準的な方法は何ですか?
同じ問題がそこで発生すると思うので、これを.Netを含むように拡張しました(DLL地獄?)