saeki’s blog

The limits of my code mean the limits of my world.

「現場で役立つシステム設計の原則」読んだ

読んだ。内容としてはDDD本の実践編という感じで非常に勉強になった。

自分は仕事でも趣味でも MVC + Service でレイヤを組んでwebアプリを作ることが多いんだけど、雰囲気でServiceをやってるように感じていつもモヤモヤしてた。
特にRailsだとどうしてもActiveRecordを中心とした作りになるから、業務ロジックがテーブル設計に引っ張られて疎結合にならない。
それに画面の設計にも引っ張られるとデータの加工なんかもServiceでゴリゴリやっちゃってコードの見通しが悪くなる。
そもそも自分が理解してたモデルの上位層としてのService、という位置付けがよくないのかもしれない。

オブジェクト指向設計の他には、プロジェクトにおける上流工程、テーブル設計、Web Api、マイクロサービスなどweb開発において抑えておくべきトピックをオブジェクト指向の観点から網羅的に書かれていて勉強になった。