最近、業務ではごりごり Web アプリケーションを書いています。
正直それまでアーキテクチャとか雰囲気でやってきてたところがあるのですが、ようやく概念を大雑把に掴むことができた、そんなふうに最近感じます。
もともと、本で概念的な知識を学んで手を動かして………という方法で学ぶのがすごく苦手でした。
体験したあとで、本を読んで、より体系的に理解するという学び方がすっかり定着しています。
そんな学び方をしているので、正直0→1でなにかを作るのはすごく苦手です。 業務においても、プライベートにおいても。 (だけど、ちょっとしたツールを頑張って調べて作って、レビューして!ってお願いできるようになったのは成長だと思う。)
Clean Architecture ライクな Web アプリケーションに携わり始めて半年。
ようやく、Clean Architecture ってなんだ?なんで嬉しいんだ?を理解できるようになってきました。
そもそも、Web アプリケーションの開発ってどこまで要件を適切にモデリングして実装することができるか?が一番重要だと感じています。
企画から上がってきた要件をそのまんま実装したら柔軟な変更には耐えられない実装になるでしょうし、かといってエンジニアのエゴで好き勝手実装したら仕様の把握が難しくなる。
では、どのように要件をモデリングすると適切に実装できるか?が重要になってきます。
(そうやって丁寧に実装することによって、変更に強くバグの少ないプロダクトになっていくのだろう)
で、DDD のような開発手法や、Clean Architecture といったアーキテクチャはそれらをより効果的に行うための考え方・手法なのだろうとふわっと思っています。
「思っています」と書いている通り、実際そうなのかはよくわかっていません。
(この記事で、一切具体的な用語が出てこないのは、それらの語彙を習得できていないから、なのですが…。)
ということで、ちょっくら積ん読してある 実践 CleanArchitecture とか、Eric Evans の DDD 本、読み直してこようかな。
- 作者:Eric Evans
- 発売日: 2013/11/20
- メディア: Kindle版
Clean Architecture 達人に学ぶソフトウェアの構造と設計 (アスキードワンゴ)
- 作者:Robert C.Martin,角 征典,高木 正弘
- 発売日: 2018/08/01
- メディア: Kindle版