Bottom Up vs Top Down Design in Clojure - Mark Bastian
5 人推荐 · 跨 7 个月 · 2016–2021

中文导读
Mark Bastian 对比了自顶向下的面向对象设计(OOP)与 Clojure 中自底向上的数据驱动设计。他通过将一款棋盘游戏抽象为纯数据加一组微小可复用的函数,与需要 22 个类构建的 OOP 版本做了鲜明对照。
为什么 HN 推它
HN 社区反复推荐的经典演讲,许多程序员正是看完它才真正参透了数据导向与 REPL 驱动的自底向上设计精髓。
「正是这场演讲让我真正搞懂了该如何用这种范式去架构程序。」HN 网友原话:is the talk that really made it clear to me how to design programs this way.
英文原摘要(HackerTube / Claude 整理)
Mark Bastian contrasts top-down object-oriented design with bottom-up, data-oriented design in Clojure. He models a board game as plain data plus small composable functions and compares it with a roughly 22-class OOP version.
HN repeatedly recommends it as the talk that made data-oriented, REPL-driven bottom-up design click.
HN 上的提及
Here's a more realistic comparison between classic Java OOP design vs the more data-oriented approach to design encouraged in functional languages like Clojure
One of my favorite videos from Clojure Conj last year
I think, a "Data Driven Development" approach would make a lot of implementations easier.
It is however a very good tool to do bottom up design.
I highly recommend this talk from Mark Bastian in Clojure/conj 2015