Model view controller clojure一种组织代码以显示程序数据的方法

Model view controller clojure一种组织代码以显示程序数据的方法,model-view-controller,data-structures,clojure,Model View Controller,Data Structures,Clojure,我的程序由一个嵌套的defrecords数据列表组成:列表中的每个条目都是一个defrecord,它有几个字段,其中包含defrecords本身。它们的定义在单独的文件data.clj中。我想写另一个文件view.clj,它应该呈现这个数据 在这个特定的示例中,并不需要所有的数据结构,嵌套的defrecords的一些字段不应该显示。其他字段在显示之前需要某种预处理(例如,它们存储日期,并且应该以某种方式格式化) 组织这样一个项目的idomatic方式是什么?最好让data.clj预处理数据,并为

我的程序由一个嵌套的
defrecords
数据列表组成:列表中的每个条目都是一个
defrecord
,它有几个字段,其中包含
defrecords
本身。它们的定义在单独的文件
data.clj
中。我想写另一个文件
view.clj
,它应该呈现这个数据

在这个特定的示例中,并不需要所有的数据结构,嵌套的
defrecords
的一些字段不应该显示。其他字段在显示之前需要某种预处理(例如,它们存储日期,并且应该以某种方式格式化)


组织这样一个项目的idomatic方式是什么?最好让
data.clj
预处理数据,并为
视图.clj
提供一个通用映射以显示此数据视图。或者视图应该采用整个数据结构,只提取显示所需的部分。还需要指出的是,由于我仍处于早期开发阶段,数据结构还远未最终确定,因此可能会有一些重大更改。

将整个数据集提供给视图,并让视图决定显示什么

另外,将数据处理代码编写为纯函数;这样,如果需要,您可以稍后轻松地移动它