哪种模式适合我的项目?

时间:2011-12-08 11:35:23

标签: asp.net-mvc entity-framework

我已经看到很多关于如何使用这些模式的文章和参考资料(请记住这一点)使用ASP.NET MVC 3和EF进行认真的项目。

项目不是很大(13个表),它基本上是一个CRUD维护:拥有一些用户的组织;可以属于某个组并可以创建一些工作区域和模板的用户......没有什么复杂的。关键是这将是项目系列的第一个,我想创建一个可以使用的基础。

我的问题是:

以前哪种模式最好?是否取决于项目规模?

我的模型将是:

你认为他们是否足够好并适合我的项目?

感谢您的所有评论。

5 个答案:

答案 0 :(得分:4)

严重的应用程序并不意味着一见钟情。

预先过度设计应用程序可能是一场真正的灾难,特别是如果您没有掌握所涉及的所有技术。

我的建议是keep it simple。创建一个满足要求的基本应用程序(完成工作并让老板满意),然后在学习路径中添加新概念。

这并不意味着我推广不良代码,没办法!保持你的代码干净,组织良好等等。但不要害怕做错事。

开发人员回顾几周前发布的应用程序然后意识到他做了一些糟糕的事情是很正常的。这就是我们的进步!

最后但并非最不重要的,有乐趣!

ASP.NET website提供了有用的资源来学习框架和所有相关的指导。逐步创建了一些应用程序示例。

答案 1 :(得分:1)

ASP.NET MVC是在考虑依赖注入的情况下构建的。

如果您想让代码松散耦合并且将来更容易更改,您必须遵循依赖注入,存储库(用于预先抽象)和UoW(用于事务抽象)等模式。 / p>

所以我的答案是,你应该首先了解它们,如果你想要或不想遵循最佳实践,就要决定它们。即使对于简单的项目,应用这些模式也是很好的,因为它经常变得越来越大。在MVC中很容易做到这一点,为什么要避免呢?

有许多资源可供学习。你可以谷歌吧。

答案 2 :(得分:1)

我想以更通用的方式回答这个问题。创造一些可以在将来使用的东西比看起来困难。上面的所有模式都可以为您提供基础架构,以提供一些基础框架。
但我强烈建议你看看S.O.L.I.D校长(DI是其中的一部分),以了解良好代码的一些特质。无论涉及何种技术,这些都适用 您无法预测产品\框架的未来需求,但遵循这些原则,您可以更好地准备处理将来对软件的任何修改

答案 3 :(得分:1)

您可能需要查看S#arp Lite,其中有许多很好的示例,说明如何实现您想要的内容,并且可以作为快速构建内容的良好基础。

答案 4 :(得分:0)

所提及的模式都不是互斥的。你应该根据你想要完成的事情来使用有意义的模式,而不是试图将你的应用程序设计变成一个关于它应该如何工作的人。有时候尝试弯曲你的场景以适应特定的设计模式/练习是你能做的最糟糕的事情。

想确保良好的单元测试覆盖率/做TDD /确保松散耦合?然后依赖注入是你的朋友,工作单元模式也是如此。这对于创建可维护的,可伸缩的应用程序来说绝对是一个好主意,但是对于小规模应用程序而言,您可能会使用它太过分了。

您的数据源需要集中式缓存策略吗?然后使用存储库模式。或者像NHibernate这样的ORM,可能会为你做这件事。