トラック1
セッション
13:20~13:50
TypeScript で飲食店向け業務システムの GraphQL バックエンド開発をしています。 Domein Modeling Made Functional という、関数型的な実装アプローチの書籍を参考に、関数型寄りのスタイルで開発を続けています。 この開発の概要は以前に、他所でも発表していますが、そこでは型をどう使うかといったところに主に焦点をあてた発表でした。 この発表をすると、決まって、従前のオブジェクト指向/手続き型アプローチを前提とした開発とのギャップについて質問を受けます。 今回は、少し視点を変えてその辺りを中心に実際にはどんな風に設計・実装しているかをお話できればと思っています。 端的に言えば、アーキテクチャやモデリング、設計自体はこれまでとあまり変わりません。一方で、実装は色々と変わる··· 関数型のアプローチを取り入れることで改善できるところがあります。オブジェクト指向のメンタルモデルが無駄になることはありません。 とはいえその一方で、純粋関数型言語ではない TypeScript で関数型アプローチをやっていくときの面倒な側面も、もちろんあります。 このあたりのリアリティについてお話したいと思います。