Sharp Architecture替代方案

3

我正在寻找一种使用Entity Framework Code First作为ORM的Sharp Architecture替代方案。是否有像Sharp Architecture这样成熟的项目,能够与EF Code First兼容?


1
http://ayende.com/blog/4786/the-wages-of-sin-over-architecture-in-the-real-world - jason
http://codecampserver.codeplex.com/ 没有使用 EF,但可以通过替换 Infrastructure.NHibernate 来使用。 - Derek Beattie
2个回答

9

架构是蓝图。一旦您看到了Sharp Architecture,您应该能够简单地考虑它并将其更改为与EF配合使用。如果您无法做到这一点,则可能没有足够的所需API技能-这是您在开始处理架构之前必须改变的第一件事情。没有任何架构可以使您免于理解API,而不理解它们,您不能使用API功能正确地进行良好的架构。

架构应由您的应用程序需求驱动。希望把应用程序需求弯曲来满足某些架构蓝图的方法是非常错误的。首先,您必须定义您的架构应该解决什么问题,之后您可以询问是否已有任何蓝图可以完成此任务(且没有更多)。

大多数文章和示例架构只是推动许多模式,没有实际需要。模式和层数的数量并不能构成良好的架构。在大多数情况下,它只会使系统过度设计且难以维护。这些示例主要是为了说明如何实现一些模式。


0

坏消息是没有完全相同的替代品,好消息是很容易像我一样创建自己的东西。

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

关键组件如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。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接