【Ralis】ドメイン・モデル思想をようやく理解

Railsポートフォリオ作成に取り掛かったのだが、設計にて危うくRailsの設計思想であるドメイン・モデル思想ではなく、トランザクションスクリプトパターンで設計するところであった。今日、ようやくドメイン・モデル思想を理解した。(気づいてよかった・・・)

 

Railsチュートリアルではあまり設計面の話はでてこなかった気がして(もしかしらた書いてあったけど気に留めていなかったのかも)、自分が知っているやり方で設計を始めた。

アジャイル開発してみたかったのだが、アジャイルでの設計方法を知らず、単に要件定義、設計、実装、テストのサイクルを細分化し、短期で回せばいいと思い込んでいた。で、さっそく要件定義を始めた。「業務一覧」「業務フロー図」など自分が知っているシステム開発で使用していた思想に基づいて設計を行っていた。

途中から、「あれ、このままだとウォーターフォールと変わらなくね?完全な設計しちゃってる?」ということに気づき始めた。

Railsの設計方法を調べてみたら、自分がやっていた過ちに気づいた。

 

when ria10 was there : railsを使ったwebアプリの設計手法

既存のアプリケーションをRailsに置き換えてみるとすぐに分かると思いますが、従来の設計書がさっぱり使えないのです。(中略)アプリケーションを設計する際には、大きく分けて、2つのアプローチがあります。1つは、プロセスに注目する方向です。もう1つは、データを中心とする方向です。

これらの前者をトランザクション、後者をドメインモデルとしており、Railsは後者を採っています。いわゆる業務システムは前者を採るイメージなので、少し毛色が違うようです。

 

完全に前者でやっていた。。。

やっぱり自分で手を動かしたほうが学びが多いな。