日々発展する変化に対応可能な設計を考慮しなければならない。よくできているProgramだとしても必ず変更が起きる。開発の効率性を高め、メンテナンスにかかる時間を減らすため分離作業は必要になる。こういう分離のことを関心の分離という。
関心の分離:関心毎に処理を分けていくこと。Separation of Concerns、SoC。
関心を役割や機能別に適切に分けて、理解しやすくなるし、修正や変更もしやすくなる。
例えば、Codeを2種類(common code、uncommon code)にを分離することで
commonは再使用可能になり、uncommonの変更に対する影響も最小化できる。
MVCモデルが代表的な例だ。