![eyecatch](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFsZiqiQZurqQBPFn6vVaY60-0pGlj1SO93JE_Q2fFXY0sepB8YUaRuiV7gdXHm9hIWUTMg4Y357IBVW0FvVpPH3RUfnO2FXYcHiUjxFUlD-tb2GsvezD6Salnr49CgTtt8kfks6TZmh7Wu7y7Zn4XjpqL7z4x9YGsqErexXmH96bmiKh_HiKRHUYBub8/s1600-rw/%E7%B4%AB%20%E3%83%8D%E3%82%AA%E3%83%B3%20%E3%82%B1%E3%82%99%E3%83%BC%E3%83%A0%20%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%82%BF%E3%82%99%E3%82%A6%E3%83%B3%20%E3%82%A4%E3%83%B3%E3%83%88%E3%83%AD%20%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%88%20YouTube%20%E5%8B%95%E7%94%BB.jpg)
DDD(ドメイン駆動開発)という言葉を色々なところで聞いていたんですが、
なかなか内容がよくわからなかったので、書籍を読んでみることにしました。
書籍レビュー
★★★☆☆
技術書籍って、ペルソナ(読者ターゲット)を定義するのがすごく難しいんですよね。
自分も技術記事や技術書籍を書く立場でもあるので、非常によくわかります。
プログラミングで考えても、プログラム言語別、使っている環境(macやwindows)、仕事などで日常で使っているフレームワーク、などによって、アプローチもやり方も説明もまるで違ってくるからですね。
ざっくりとした概念だけわかれば良いというレベルで考えればいいかと考えた場合、初学者はまるでついてこられなくなるし、
初学者向けに書くと、中級レベルの人には、物足りなさを感じてしまうので、
今回読んだ「ドメイン駆動設計入門」は、現場でこのようにした方がいいという、サンプルコードも載せながら解説してあるので、
参考になるかな〜と思ったけど、Java言語かつ、B2Cサービスを主軸に行っていたので、これに見合うタイプのエンジニアは、
業務系開発中心でかつB2Cサービス(またはコミュニティなどのERPベース)を行っている人がペルソナになる感じです。
熟練者であれば、プログラム言語など別にどうでもいいという見方もありますが、
少しJava言語に特化した書き方と、イメージしずらいパターンをひたすらひきづって章が進むため、プログラミングで参考になる部分は、50%にも満たない感じでした。(自分としては)
ただ、ドメイン駆動開発についての知識は、人に説明できるレベルで学習はできたので、本の目的は達しているようにも思えました。
個人的には、用語集や、その解説にもっと多くのページを費やしてもいいんじゃないかな〜と感じたレビュー結果です。
読後の感想
ドメイン駆動開発を簡単に説明すると、
ここでいう
ドメインは、インターネットドメインの.comや.jpなどではなく、
ビジネスドメインと言われる、要するに業界ルール的な意味で使われています。
プログラミング開発を進める前に必ず設計という肯定がありますが、
その時に、ドメインを主軸にした方が、その後のプログラム改修や、機能追加、リファクタリングなどをしやすくできますよ〜。というのが
ドメイン駆動開発の真骨頂のようです。
手慣れたプログラマーの人だと、ドメインを意識しなくても、機能というレベルでクラスや関数の配置を考えて、
MVC(Model View Controller)
MVP(Model View Presentation)
MVVM(Model View ViewModel)
という様な、プログラミングのデザインUIに組み込んでいくイメージだと思います。
あとがき
個人的に感じたのは、ドメイン駆動開発は設計する時に役立つ思考のようなもので、
同時に、各種の周辺ドキュメントや、
プログラム内の関数や変数名も含めたコーディングルール、
ドメイン内で使われる、用語一覧、
これらのことも合わせて充実させないと、開発プロジェクトの運用が滞ってしまうんだという事が改めて理解できました。
新規開発でのシステム開発や、Webサービスを依頼される事が多い自分としては、チームプレイよりも、自分一人で開発するケースが多く、
自分一人だから、「ある程度自由でいいや」と思って開発をすると、数ヶ月後にそのプロジェクトでの機能追加や、後々に出てきた内部不具合などの改修の際に、
過去の自分はもはや別人で、適当にプログラミングしていた場合に、ぶん殴ってやりたくなる感覚もよくあります。
きっとそれを他人が見たら、時間が経過していなくてもぶん殴られる可能性も高いので、殴られない様にドメイン駆動開発を意識づけていければいいかと思った、
今回の読後感想でした。
0 件のコメント:
コメントを投稿