درباره این اپیزود
In this episode, we explore the Functional Core, Imperative Shell (FC/IS) architecture pattern popularized by Gary Bernhardt. This powerful approach separates pure business logic from side effects, resulting in code that's more testable, maintainable, and reasoning-friendly.
We'll discuss how FC/IS differs from traditional layered architectures by treating effects as data, enabling an impressive 85% of code to exist as pure functions. Using the analogy of a presidential cabinet, we explain how the functional core makes decisions while the imperative shell handles execution.
The episode covers practical implementation strategies, the crucial role of Datomic in solving the "all relevant facts" problem, and real-world benefits including enhanced REPL-driven development, simplified error reproduction, and improved system observability.
Emacs Rocks - https://emacsrocks.com
Parens of the dead - https://parens-of-the-dead.com
Replicant - https://replicant.fun
FC/IS - https://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shell
FC/IS with types https://www.youtube.com/watch?v=P1vES9AgfC4
Datomic - https://www.datomic.com
We'll discuss how FC/IS differs from traditional layered architectures by treating effects as data, enabling an impressive 85% of code to exist as pure functions. Using the analogy of a presidential cabinet, we explain how the functional core makes decisions while the imperative shell handles execution.
The episode covers practical implementation strategies, the crucial role of Datomic in solving the "all relevant facts" problem, and real-world benefits including enhanced REPL-driven development, simplified error reproduction, and improved system observability.
Emacs Rocks - https://emacsrocks.com
Parens of the dead - https://parens-of-the-dead.com
Replicant - https://replicant.fun
FC/IS - https://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shell
FC/IS with types https://www.youtube.com/watch?v=P1vES9AgfC4
Datomic - https://www.datomic.com
انگلیسی
ایالات متحده آمریکا
رونوشت 🔗
Are you the producer of this podcast?
Add a podcast transcript
Need Audio-to-Text?
Transcribe with Listen411 in Just 60 Seconds
جستجوی اپیزودهای گذشته
اپیزودهای قبلی ClojureStream Podcast را جستجو کن.
قسمت های دیگر در این پادکست
Roman on GitHub - https://github.com/roman01la
Roman on YouTube - https://www.youtube.com/@roman01la
UIx - https://github.com/pitch-io/uix
Alex on GitHub - https://github.com/armincerf
React Query - https://github.com/TanStack/query
Babashka - https://github.com/babashka/babashka
SCI - https://github.com/babashka/sci
Scittle - https://github.com/babashka/scittle
EQL - https://github.com/edn-query-language/eql
Kit Workshop - https://clojure.stream/workshops/kit
Dimitri on Twitter - twitter.com/yogthos
Dimitri on GitHub - github.com/yogthos
Dimitri on 500px - 500px.com/p/dmitrisotnikov
Dimitri's website - yogthos.net
Kit on GitHub - https://github.com/kit-clj/kit
Kit's website - https://kit-clj.github.i…
Malcolm on Twitter - twitter.com/malcolmsparks
Malcolm on GitHub - github.com/malcolmsparks
Atomic Architecture - https://www.juxt.pro/blog/atomic-architecture/
Atomic Architecture JUXT Conf - https://www.youtube.com/watch?v=5ygrCpC0axM
Francis Acila on GitHub - https://github.com/favila
Datomic - https://www.datomic.com/
Shortcut - https://www.shortcut.com/
سلب مسئولیت: پادکست و آثار هنری تعبیه شده در این صفحه متعلق به Jacek Schae است که متعلق به صاحب آن است و به Listen Notes، Inc وابسته یا تایید نشده است.
ویرایش
از کمک شما برای بروز نگهداشتن پایگاهدادههای پادکست سپاسگزاریم