【发布时间】:2017-05-24 01:02:53
【问题描述】:
我一直在尝试从博客、文章和视频中了解有关 Bob 叔叔的清洁架构的更多信息。
如果我要在此架构中使用数据库,那么 UI(作为 Web 或表单等框架)应该了解数据库的哪些信息?或者更一般地说,数据应该如何在同一层中的两个或多个片段/部分之间流动?
例如,UI 将与我的适配器/网关对话以与业务实体进行交互。对于读/写,我可以看到 UI 可以调用可以访问数据库并传入适配器/网关的任何类/类,以便它可以与业务实体交互。
public class SomeUI
{
public static void Main(string[] args)
{
SomeAdapter adapter = new SomeAdapter();
SomeDataAccess db = new SomeDataAccess();
db.Save(adapter);
}
}
public class SomeDataAccess
{
public void Save(SomeAdapter adapter)
{
//Interact with database
}
}
public class SomeAdapter
{
//properties
}
许多文章与这篇文章几乎没有什么不同 (https://subvisual.co/blog/posts/20-clean-architecture)。我还没有找到一篇很好的文章来介绍同一层中的各个部分应该如何相互协作。因此,提及该内容的文章将是一个可以接受的答案。
这似乎没有违反依赖规则,但感觉好像我做的不对,因为我在我的 UI 和数据库之间建立了依赖关系。我相信我可能过度思考了这个概念,并且我相信这可能来自于学习三层架构(UI -> BLL -> DAL)。
【问题讨论】:
标签: database user-interface frameworks clean-architecture