関数型プログラミング x ドメイン駆動設計超入門 ~型安全と心理的安全を求めて~ by shiz

iOSDC Japan 2019
レギュラートーク(60分)

関数型プログラミング x ドメイン駆動設計超入門 ~型安全と心理的安全を求めて~

stzn3 shiz stzn3
2

「関数型プログラミング」
「ドメイン駆動設計」

この2つのキーワードは
プログラミングの世界でも頻繁に取り立たされるトピックですが
私にとってはなんとなくわかるようでわからない存在でした。

むしろ

「数学やコンピュータサイエンスの知識がない私に関数型プログラミングは理解できるのだろうか?」

「ドメイン駆動設計の導入には考慮することが多すぎて、学んでも十分に活かせることができないのではないだろうか?」

と思い、避けていたところもありました。

そんな私ですが
この2つについて学んでみる機会があり
その底にある考えや仕組みを知ることで
日々の開発にすぐに活かせる要素がたくさんあることがわかりました。

またこの2つの要素を組み合わせることで
より安全に安心して開発を進めることができる可能性も見えてきました。

今回は

  • 関数型プログラミングの正体とちょっとした活用法
  • ドメイン駆動設計を行うことの意義や日々の開発をより進めやすくするために意識すること
  • この2つを組み合わせて開発を進める効果や方法

などついて
専門家ではない立場から一歩一歩学んできたことをお話したいと思います。

また
今年のWWDCで紹介されたCombineフレームワークや
関数型プログラミング、ドメイン駆動設計を使った開発と相性か良いと言われており
Swiftに導入される可能性のあるActorモデルなど
Swiftの未来についても触れられる範囲で紹介したいと思います。

関数型プログラミングやドメイン駆動設計とは縁遠いと思われている方や
なんとなく避けて通ってきている方が興味を持つきっかけになれば幸いです。