C# 夏普架构替代方案

C# 夏普架构替代方案,c#,.net,asp.net-mvc,entity-framework,architecture,C#,.net,Asp.net Mvc,Entity Framework,Architecture,我正在寻找夏普架构的替代方案,它首先使用实体框架代码作为ORM。是否有任何成熟的项目,如夏普架构(Sharp Architecture)和EF code first?架构是一个蓝图。一旦您看到夏普架构,您应该能够简单地思考它,并将其更改为使用EF。如果您不能做到这一点,您可能没有足够的技能来使用所需的API—这是您在开始处理架构之前必须更改的第一件事。没有任何体系结构可以让您免于理解API,如果不理解它们,您就无法正确地使用API的特性来创建一个好的体系结构 体系结构应该由应用程序的需求驱动。您

我正在寻找夏普架构的替代方案,它首先使用实体框架代码作为ORM。是否有任何成熟的项目,如夏普架构(Sharp Architecture)和EF code first?

架构是一个蓝图。一旦您看到夏普架构,您应该能够简单地思考它,并将其更改为使用EF。如果您不能做到这一点,您可能没有足够的技能来使用所需的API—这是您在开始处理架构之前必须更改的第一件事。没有任何体系结构可以让您免于理解API,如果不理解它们,您就无法正确地使用API的特性来创建一个好的体系结构

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


大多数文章和示例体系结构只是推动了很多模式,而没有实际需要它们。模式和层的数量并不能构成一个好的体系结构。在大多数情况下,这只会使系统过于结构化,难以维护。这些示例主要用于解释如何实现某些模式。

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

我已经使用S#arp很长一段时间了,它是一个很好的架构,我用它开发了很多应用程序,但是看起来这个开源项目已经没有什么进展了,所以去年年底,我决定使用相同的原则,用实体框架重新创建类似的东西

替换了NHibernate、NHibernate.Validator和Castle Windsor等关键组件,分别使用实体框架、LINQ到实体、System.ComponentModel.DataAnnotations和Autofac。这些层与域、表示、任务、框架和基础结构一样

关于我是如何创建它的,请看这篇文章的详细解释。

我还创建了一个我调用的代码生成器,它从数据库设计中生成CRUD操作和基本UI

不使用EF,但可以通过替换Infrastructure.NHibernate来实现。