我正在使用Java Swing在Clojure中编写一个桌面GUI应用程序.通常在使用Java时,我将使用Observer模式根据MVC设计模式设计应用程序.通过这种方式,视图与模型分离,并且其中的任何一个中的更改都不会相互影响,从而使更改变得更加容易.
我想知道Clojure是否比普通的MVC和Observer设计模式更好地解决了这个问题?我是函数式编程的新手,所以我不确定如何将模型与视图分开.我需要这个,因为应用程序将迭代开发,并且可能存在更具挑战性的要求.
非常感谢任何帮助.
谢谢,
亚当
model-view-controller design-patterns functional-programming clojure observer-pattern
我正在寻找一个数据库,我可以使用它来存储多年来某些股票的数据.可能会有几千条记录.我正在用Java和Clojure编写一个应用程序,当需要显示数据时,它将从本地数据库中提取数据.
我想知道是否有人知道有一个好的数据库可以用于此目的吗?我只有在服务器端运行MySQL的经验.
哪个数据库最容易在Clojure和Java中用于本地存储?
谢谢,
亚当
我正在Clojure中进行Project Euler挑战,我希望找到斐波纳契序列中所有偶数的总和,直到某个数字.
执行此操作的函数的代码如下所示.我知道有更快更简单的方法,我只是尝试使用循环和重复进行递归.但是代码似乎不起作用它永远不会返回答案.
(defn fib-even-sum [upto]
(loop [previous 1 nxt 1 sum 0]
(if (or (<= upto 1) (>= nxt upto))
sum)
(if (= (mod nxt 2) 0)
(recur nxt (+ previous nxt) (+ sum nxt))
(recur nxt (+ previous nxt) sum))))
Run Code Online (Sandbox Code Playgroud)
我不确定我是否可以在同一个循环中重复两次.我不确定这是否会导致问题?
我有以下代码:
(let [obs ^java.util.Observer (proxy [java.util.Observer] []
(update [^Object o ^String arg]
(println arg)))
network ^StockPriceNeuralNetwork (NeuralNetworkFactory/createStockMarketNeuralNetwork ^java.util.List [^java.util.Observer obs])]
(.trainForTime ^StockPriceNeuralNetwork network))
Run Code Online (Sandbox Code Playgroud)
问题来自Java,这个代码的运行速度比编译代码后从Clojure调用它快大约100倍.有没有什么方法可以从Clojure获得相同的Java性能,或者它总是会变慢?