こんにちは。世界から法律に関わる悩みをなくしたい高崎です。普段はココナラ法律相談という弁護士の先生方と相談したい悩みのある相談者のマッチングサービスをつくっています。 ココナラ法律相談はもうすぐリリース10年を迎える、それなりに歴史があるRuby on Rails(以後Rails)で実装されたWebサービスです。Railsは非常に洗練されたフレームワークで、迅速に機能を実装可能ですが、その反面自由度が高いがゆえに意図せず技術的負債を生み出しやすい傾向にあります。 この記事では、関数型ドメインモデリングという考え方を参考に、どのように普段のRails開発で一貫性を保った設計、実装を行うか検討します。またココナラ法律相談での実装例としてdry-monads を利用したワークフロー実装のコード例も紹介します。 関数型ドメインモデリングとは 関数型ドメインモデリングとは、「関数型ドメインモデリング