ドメイン駆動設計について

C言語を最初に学んだこともあり、学生時代はオブジェクト指向はほとんど理解できていませんでした。
学生の頃の作るプログラムは1人で作るものが多かったのと、エディタもemacsを使っていたので、オブジェクト指向はむしろデメリットにしか感じませんでした。

会社ではC#が使われていたものの、(今から思えば)オブジェクト指向を生かしているとは言い難いソースになっていました。
入社後、何年かすると段々と機能を少し追加するだけでも、調査が必要となり保守工数が膨らんでいきました。

そんな保守の課題を解決したいと考えていた頃に出会った本が、「エリック・エヴァンスのドメイン駆動設計」、「実践ドメイン駆動設計」、「.NETのエンタープライズアプリケーションアーキテクチャ」でした。
これらの本やネットの情報を頼りに、新規のプロダクトにはこっそりとドメイン駆動設計を取り入れて実践していきました。

ドメイン駆動設計の有効性は個人的には実感できるようになってきました。
ですが、今までのやり方に慣れている開発者やコードを一切書かない上司に説明するのが大変でした。
(1年かけて説明した結果、「リファクタリング」という言葉が使われるようにはできました。。。)

SIerではよくあるようにプログラマーと設計者が完全に分かれています。そのためか「ユビキタス言語」や「しなやかな設計」のハードルが思っていた以上に高かったです。



この記事が気に入ったらサポートをしてみませんか?