【问题标题】:Sharp Architecture alternative夏普架构替代品
【发布时间】:2011-10-28 08:51:04
【问题描述】:

我正在寻找 Sharp Architecture 替代方案,它首先使用实体​​框架代码作为 ORM。有没有像Sharp Architecture这样的成熟项目,EF代码优先?

【问题讨论】:

标签: c# .net asp.net-mvc entity-framework architecture


【解决方案1】:

架构是一个蓝图。一旦您看到 Sharp Architecture,您应该能够简单地考虑它并将其更改为与 EF 一起使用。如果你不能做到这一点,那么你可能没有足够的技能来使用所需的 API——这是你在开始处理架构之前必须改变的第一件事。没有架构可以让您免于理解 API,如果不理解它们,您将无法正确使用 API 的功能来构建良好的架构。

架构应该由您的应用程序的需求驱动。您希望弯曲应用程序需求以实现某些架构蓝图的方法是非常错误的。首先,您必须定义您的架构应该为您解决什么问题,然后您可以询问是否有任何蓝图已经在做这件事(仅此而已)。

大多数文章和示例架构只是在推动大量模式,而实际上并不需要它们。模式和层的数量并不是一个好的架构。在大多数情况下,它只会使系统过度设计且难以维护。这些示例主要用于解释如何实现一些模式。

【讨论】:

    【解决方案2】:

    坏消息没有确切的替代品,好消息很容易像我一样创建自己的东西。

    我已经使用 S#arp 很长时间了,它是一个很好的架构,我用它开发了很多应用程序,但看起来那个开源项目没有更多动静,所以去年年底我决定搬家使用相同的原理但使用实体框架重新创建类似的东西。

    NHibernate、NHibernate.Validator 和 Castle Windsor 等关键组件被替换为分别使用 Entity Framework、LINQ to Entites、System.ComponentModel.DataAnnotations 和 Autofac。这些层与域、表示、任务、框架和基础设施一样保持不变。

    关于我是如何创建它的,请查看这篇文章的详细说明。 http://www.macaalay.com/2015/10/20/creating-a-solid-architectural-foundation-from-scratch-is-not-really-that-hard/

    我还创建了一个代码生成器,我称之为 Effinator,它根据您的数据库设计生成 CRUD 操作和基本 UI

    【讨论】:

      猜你喜欢
      • 2012-01-23
      • 2012-09-23
      • 1970-01-01
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多