ここ最近○○駆動型開発というのが増えてきたように思います。プロジェクトの管理スタイルといえばウォーターフォール、XP、アジャイル、スクラム、リーンなど数多くありますが、そういったトレンドの変化に合わせて開発スタイルも進化してきています。

流行廃りはあるように思いますが、開発スタイルも徐々に進化していますのでトレンドを知ることで開発生産性を高めることができるのではないでしょうか。

ドメイン駆動開発

ドメインとはアプリケーションが対象とする業務領域を指します(via Domain-Driven Designのエッセンス 第1回|オブジェクトの広場)。業務アプリケーションをプレゼンテーション層、ドメイン層、データソース層の3つに分けて考え、中心にドメイン層を置くのがポイントです。

モデル、コントローラ、ヘルパーなど様々な所に散在するコードをドメインに集約し、その中で再利用性高く抽象化することで中長期的なメンテナンス性を高め、システム全体の理解がしやすくなります。