【问题标题】:how to separate model library when using asp.net identity使用asp.net身份时如何分离模型库
【发布时间】:2017-02-22 10:53:43
【问题描述】:

我想创建具有分层架构的应用程序。我有单独的

  • 只有模型类的模型项目
  • 负责 CodeFirst 配置、迁移等的数据项目,
  • 服务项目负责业务逻辑,并使用 EF 将数据保存在数据库中
  • 在 Web 应用和服务之间使用类的 Dto 项目
  • 带有 asp.net mvc 应用程序的 Web 项目。

我的目标是将这些项目分开,以便 Web 项目对模型和数据一无所知 - 它只是使用 Dto 类来使用服务,因此 Web 项目应该只引用服务和 Dto。在我配置 Asp.Net Identity 之前,一切都很好——为了配置授权,我必须引用我想避免的数据和模型项目。是否有可能实现我的目标,以及(如果可以)如何实现。

我的第二个问题是:从关注点分离的角度来看,我的设计可以吗?

【问题讨论】:

    标签: c# asp.net-mvc entity-framework asp.net-identity separation-of-concerns


    【解决方案1】:

    我可能会将所有 ASP.NET 身份的东西分离到它自己的项目中,其中包含 EF 数据访问和身份模型。可以将其视为更局部地或按主题而不是按功能分离关注点。

    因此,您的 Web 应用程序将引用 Service、Dto 和 Identity——每个人似乎都有自己的世界角落。

    imo 的目标不一定是通过类似的功能来划分代码,而是消除不需要的依赖项,并将领域知识隐藏(或更确切地说是保护)到孤立的权威块中。

    是的,您的设计基本上是可靠的,并且通常运行良好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 2022-01-21
      • 2014-03-14
      • 1970-01-01
      相关资源
      最近更新 更多