クリーンアーキテクチャの例は、データの詰め替え過剰にみえる。
『Get Your Hands Dirty on Clean Architecture 』にこのマッピング戦略(詰め替え戦略)が書かれている
- No Mapping (レイヤ間でモデルを共有し、詰め替えをしない)
- 2-way Mapping (各レイヤで独自のモデルを持ち、レイヤを跨ぐ呼び出しは上位レイヤが詰め替えの責務を負う)
- Full Mapping (各レイヤで独自のモデルを持ち、レイヤを跨ぐ呼び出しには専用のモデルを使う)
またこの戦略のどれを選ぶかの基準は『Balancing Coupling in Software Design』を合わせて検討すると良い。Balancing Couplingではモジュール間の統合強度として、次の2つを区別している。
モデル結合 (モジュール間でモデルを共有する。契約結合よりも強い結合)
契約結合 (モジュール間のやり取り専用のモデルを作る)