作为Ruby on Rails开发人员,在设计/实现Web应用程序时,我将问题域中的基本概念/实体作为模型来实现。通常,这些类是从基类ORM类派生的类(例如ActiveRecord::Base
),它们映射来自数据库表的记录并添加包含实现与该模型相关的业务逻辑的额外方法。Clojure中的MVC模型
这种方法的优点是,您可以快速找到与问题域中的对象有关的所有业务逻辑,以便如果模型类不是很大,则可以有效地理解应用程序的该部分的工作方式。它也从所有的表示逻辑中分离出来。此外,由于ORM,业务逻辑方法包含很少的DB特定的代码,因此非常干净且易于阅读。
缺点是这些类通常增长到一个庞大的规模,因此难以理解为一个整体。
所以我的问题是:
- 待办事项Clojure的生态系统提供了一些库,实现类似功能OOP的奥姆斯?
- 什么是“Clojure方式”来组织这样的代码?
- 该方法的优点和缺点是什么?
- 一些文章/书籍/会谈解释和证明的方法?
- 是否有一些开源(示例)应用程序展示了这种方法?