gpt4 book ai didi

design-patterns - Clojure 中的财务账户模式实现 : ref or agent?

转载 作者:行者123 更新时间:2023-12-04 07:22:14 26 4
gpt4 key购买 nike

我正在通过 Fowler 的 Analysis Patterns 工作和我自己在 Clojure 中的编程示例,以更好地理解两者。

暂时将持久性/耐用性问题放在一边 1 ,看起来 Clojure refs 与它们的同步显然是最好的方法。

另一方面,鉴于由帐户条目触发的发布规则,在更多帐户(可能是代理)中产生更多交易,并且它们的异步更新会更好。在这一点上,看起来我可能不得不尝试两者兼而有之。
有人对这个特定的设计决定有什么建议吗?

1我假设如果我能让功能和概念很好地工作,我将能够稍后将所有内容映射到合理的数据库模式中。

最佳答案

Clojure 中的所有可变对象都旨在为您提供有关事物如何随时间变化的一致 View 。如果您有多个对象相对于彼此发生变化,那么您需要创建一个包含所有对象的时间线,而 refs 正是为此目的而设计的。

您可能还对观察者的概念感兴趣 (add-watch reference key fn)您可以添加到 refs 以强制执行事务不变量。

关于design-patterns - Clojure 中的财务账户模式实现 : ref or agent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1816313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com