Clojure语言的创造者声称,“在一个开放且小型的可扩展抽象集上运行大量开放的函数是实现算法重用和库互操作性的关键”。这显然与典型的面向对象编程方法相矛盾,后者需要创建大量抽象(类)和一组相对较小的操作它们的函数。请建议一本书、一章书、一篇文章或您个人经验中详细阐述以下主题:
- 激励性的问题示例,说明面向对象编程中出现的问题,以及如何使用“多个函数操作少量抽象”来解决这些问题
- 如何有效地进行MFUFA*设计
- 如何将面向对象编程代码重构为MFUFA
- 面向对象编程语言的语法如何妨碍MFUFA
*MFUFA:“多个函数操作少量抽象”