Get Your Hands Dirty on Clean Architecture – Second Edition 2

https://learning.oreilly.com/library/view/get-your-hands/9781805128373/

日本語訳版「手を動かしてわかるクリーンアーキテクチャ ヘキサゴナルアーキテクチャによるクリーンなアプリケーション開発

2 What’s Wrong with Layers?

レイヤーの何が問題なのでしょうか?
レイヤー化されたアーキテクチャ は変更に対して非常に脆弱で、メンテナンスが難しくなります。
悪い依存関係を忍び込ませ、時間の経過とともにソフトウェアをますます変更しにくくします。
レイヤーは、アーキテクチャを軌道に乗せるための十分なガードレールを提供しない。
保守可能な状態を保つには、人間の規律と勤勉さに頼りすぎる必要がある。

他の何かを構築する前に、ドメイン・ロジックを構築すべきである。
ビジネスルールを正しく理解しているかどうかを調べたいのです。
正しいドメインロジックを構築できていることが分かって初めて、永続レイヤとWebレイヤの構築に進むべきです。

データベース中心のアーキテクチャの原動力は、 Object-relational mapping (ORM) フレームワークの使用です。
しかし、ORMフレームワークをレイヤードアーキテクチャと組み合わせると、ビジネスルールとパーシステンスアスペクトを混在させる誘惑に駆られやすい。

レイヤーより上のレイヤーにある特定のコンポーネントにアクセスする必要がある場合、そのコンポーネントを1つ下のレイヤーにプッシュすれば、アクセスできるようになる。
開発者として、そのようなショートカットを軽んじているとは言わない。
しかし、何かをするためのオプションがあれば、特に締め切りが迫っている場合には、誰かがそれをするだろう。
そして、もし何かが以前に行われたことがあれば、誰かが再びそれを行う可能性は飛躍的に高まる。

レイヤーアーキテクチャでは、ドメインロジックがレイヤー全体に散らばってしまうことが簡単に起こります。

レイヤーアーキテクチャはいろいろなことがうまくいかないということだ。
自己規律がしっかりしていないと、時間とともに劣化し、保守性が低下しやすい。

memoO'REILLY Learning

Posted by shi-n