Developer's Bookshelf

アーキテクチャシンクホール

レイヤードアーキテクチャで起きる可能性があるアンチパターン。

参考文献

From ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ
レイヤードアーキテクチャで気をつけなければならないのは、アーキテクチャシンクホール(Architecture Sinkhole)アンチパターンだ。このアンチパターンは、各レイヤー内でビジネスロジックが実行されず、リクエストがパススルーされてレイヤー間を移動する場合に発生する。

レイヤーを増やすとありがちなアンチパターン。


From ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ
すべてのレイヤードアーキテクチャには、アーキテクチャのシンクホール(陥没穴)が生じるシナリオが少なくともいくつかある。このアンチパターンに陥っているかどうかを判断するには、パススルーされてレイヤー間を移動しているリクエストのパーセンテージを分析すると良い。一般に、80対20ルールは従うべき良い習慣だ。たとえば、リクエストの20%だけがシンクホールであるなら構わない。しかし、リクエストの80パーセントがシンクホールになってしまっていたなら、それは問題領域に対してレイヤードアーキテクチャが適切なアーキテクチャスタイルでないことを示す良い指標となる。

単に受け渡すだけのレイヤーが80%なら、それは適切なアーキテクチャではない。