ドメイン駆動開発でレイヤードアーキテクチャを採用するパターンが良くありますが、初学者にとっては理解し難いものです。見様見真似でなんとなく層に分けてクラスを設計してみたものの。。アレ?という感じになってたりします。
実際に遭遇したよく陥りがちな避けるべき実装パターンを例に上げて
をまとめてみたいと思います。