私の理解では、進化的アーキテクチャは、アーキテクチャを簡単に変更できるようにすることです。現在、アーキテクチャーは多くの場合、後で変更するのが難しいため、早期に正しく取得する必要があるものとして定義されています。
これはどのように組み合わされますか?進化的アーキテクチャとアーキテクチャの量を最小限に抑えることの間に違いはありますか?
私の理解では、進化的アーキテクチャは、アーキテクチャを簡単に変更できるようにすることです。現在、アーキテクチャーは多くの場合、後で変更するのが難しいため、早期に正しく取得する必要があるものとして定義されています。
これはどのように組み合わされますか?進化的アーキテクチャとアーキテクチャの量を最小限に抑えることの間に違いはありますか?
回答:
進化的アーキテクチャに関するニールフォードの基調講演は、こちらにあります。
言い換え:
アーキテクチャとは、プロジェクトの早い段階で正しく決定できるようにしたい決定であり、人々が変更するのが難しいと感じているものです。しかし、変化を期待するアーキテクチャを構築したらどうなるでしょうか。
進化的アーキテクチャーは、複数の次元にまたがる第一原理として、段階的なガイド付き変更をサポートします。
彼は持っていると言うビッグ泥、階層化アーキテクチャ、マイクロカーネルとRESTのボール、およびmicroservicesで最高潮に達する、で始まる、異なるアーキテクチャのシナリオを記述するために行くのn進化の機能の寸法(ここで、n個の異なるmicroservicesの数です)。
フォードによると、進化的アーキテクチャ:
必要に応じて、進化的アーキテクチャをメタアーキテクチャと考えることができます。アーキテクチャのアーキテクチャ。石ではなく粘土で物を鋳造することを促進する設計原則を指示するガイダンス。
はい、すべてを無差別に変更しやすくすることは矛盾です。「変更が容易」なものを作成するためにコードを追加する必要がある場合(ここでは「簡単」の定義が不十分)、コードを追加しただけで変更が困難になります。一方、変更される可能性が非常に低い変更を正確に把握している場合は、追加のコードを不要な複雑さと見なすべきではありません。
物事を「変更しやすい」にすることは、現代のソフトウェアの多くが肥大化し、変更が困難になった主な理由です。