【发布时间】:2015-07-04 05:58:50
【问题描述】:
我正在尝试实现 Clojure 架构,就像 Bob 叔叔在 http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html 所做的那样,就像他在第 07 集 - 架构、用例和高级设计中用干净的代码描述的那样。
内部圈子中的任何人都无法完全了解 一个外圈。
我想用所有业务规则和测试编写应用程序的核心。这个核心必须定义对数据库中“对象”的操作,如用户、支付、广告等。但是如何实现必须在更高级别的应用程序上实现。
所以问题是:你能给我一个关于 github 上的优秀架构应用程序的例子吗,比如在带有圆圈的图像上?我正在学习 Clojure,我想看看它在技术上是如何做到的。我正在尝试自己做,但结果很糟糕。简单的代码示例将对我有很大帮助。 我想知道如何在 Clojure 中像在图像上一样一步一步地创建图层。
如果有任何有关如何在 Clojure 中实现高质量的信息,我将很高兴。可以是代码、视频或文章。可以免费,也可以购买。
【问题讨论】:
-
Uncle Bob 干净架构的关键元素是依赖倒置。 Clojure 有多种实现方式:使用高阶函数和协议可能是最相关的两种(无耻插件:blog.find-method.de/index.php?/archives/…)。但是,您还需要实现不同的圈子:这基本上是使用命名空间并确保您放置例如协议定义到正确的内圈/层,实现到正确的外层。
-
谢谢。这篇文章正是关于我要解决的问题,这个人离我还有几步之遥,然后是我:)
-
@schaueho 您的评论和指向详细且有价值的帖子的链接超过了平均答案,您可以将其转换为答案。我猜卡布拉可能会接受它
-
@JamesSharp:感谢您的鼓舞人心的评论,就这样做了。
标签: architecture clojure