ソフトウェア設計の一般的な目標は、変更が最小限のコンポーネント(つまり、コンパイルされたアセンブリ)に影響を与え、個別に公開できるようにアプリケーションを構造化することであるように思われます。依存性逆転の原則が適用されるため、安定したコンポーネントは揮発性のコンポーネントに依存しません。クラスは、展開を最小限のコンポーネントのセットに制限する方法で再度パッケージ化されます。
だから私の質問は、変更ごとにアプリケーション全体を公開することの何が問題になっているのかということです。特に、公開が完全に自動化されたワンクリックソリューションである場合。確かにコンポーネントを個別にデプロイするということは、コンポーネントを独自の依存関係を持つミニプロジェクトとして個別にバージョン管理および管理する必要があることを意味しますか?「優れた設計」の大部分は、各コンポーネントを個別に公開することは良いことであるというこの1つの原則にかかっているようですが、なぜでしょうか。