【问题标题】:Where should site configuration data repositories be located?站点配置数据存储库应位于何处?
【发布时间】:2011-05-15 23:14:37
【问题描述】:

我们有许多 NHibernate 实体映射到专门用于配置多租户 Web 应用程序的数据。这些实体与其他 NHibernate 实体一起存在于 Domain 项目中。

问题是,所有其余实体都与业务相关,而这些实体与配置相关。将它们放在网络中是否更有意义?

我问的原因是因为我遇到了这个问题中概述的问题:How to supply RequestContext data to the constructor of a domain object?,我需要来自域对象构造函数中提供的请求上下文的数据。问题是我不想从 Domain 项目中引用 Web 项目。如果我直接从 Web 项目中获取配置数据,那么这将不是问题。

edit:“将它们放在域中是否更有意义?”更正为“.. 在网络中?”

【问题讨论】:

    标签: c# asp.net-mvc oop nhibernate dependencies


    【解决方案1】:

    就我个人而言,对于我的项目,我很快将我的存储库、模型等分解为不同的程序集(不仅仅是基于业务/配置/等)。

    因此,在存储库需要从 RequestContext 访问信息的情况下,我会为此配置数据设置一个单独的存储库,并在与我的业务存储库/对象分开的程序集中。

    即使在我的领域对象中(在我们的医疗保健项目中,我们有几十个),我们也很快找出了我们可以分解事物的主要接缝 - 即专门处理形状数据的组件不需要携带我们整个域的权重,所以我们在配置文件中明确设置了我们希望使用的映射对象,并保持我们的域对象按逻辑函数分解。

    简而言之,我不会眨眼考虑将您的配置实体分解为单独的项目/程序集(通常,我们的程序集包括通用存储库接口、我们的具体存储库、NHibernate 映射和相关模型)。

    【讨论】:

    • 对不起,我不小心-1'd,所以+1来补偿
    猜你喜欢
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    相关资源
    最近更新 更多