Mir*_*lec 1 .net c# entity-framework n-tier-architecture
我正在创建一个Web应用程序并首先使用Entity Framework.我创建了实体数据模型,现在我不确定,现在该怎么办.
前提:我的数据库非常简单(Rating,WebPage,Visitor),数据库表对应于业务对象.
我的建议是3层架构,但如何制作呢?
创建与Entity Framework对象同名的部分类(评级,访问者)并在此声明新方法(GetAverageRating()...)是个好主意?或者最好在这里创建一些VisitorProvider,RatingProvider和放置逻辑?
最好在BLL和Presentation Layer中使用EF对象,或者我应该在BLL层上创建自己的BO对象并将EF对象转换为BO?
我认为,在我的DAL上使用静态方法比在BLL上实例化类更实际.你同意吗?
你能推荐一些最佳实践吗?我有很多想法如何创建它,但我不知道什么是正确的.
3层架构很受欢迎,但它的真正含义是什么?
如果你问每层意味着什么,你可以非常肯定你会得到几个不同的答案.你可以进一步将每一层划分为子层并构建分层地狱,如:
WTF?这只是应用程序可以轻松构建的示例.如果你坚持只有邻居可以交换数据,并且你决定在层之间添加特殊类型的对象而不是通过多层流动唱出一组对象,那么情况会更糟.
添加您需要的图层,使您在开发应用程序时更加舒适,并且可以合理地分离应用程序规模所需的关注点和可维护性.您可以简单地执行最简单的应用程序,该应用程序将在几周内使用,并且必须尽快开发.在这种情况下,您可以在几天内通过使用ASP.NET Web表单和数据源控件(或ASP.NET动态数据)来实现.它可以是非常可扩展的,但在这种情况下,它正是您快速实现应用程序所需要的.如果需要,编写图层并完成所有可维护性和可扩展性的内容是合理的.另一种快速原型技术是ASP.NET MVC Scaffolding,它可以创建应用程序的快速多层骨架,可以进一步修改.
Provider(通用名也是Service).该类将同时执行数据访问逻辑和业务逻辑.在更复杂的应用程序中,开发人员喜欢以某种方式将EF包装到存储库模式之后的单独类中,并从服务或直接从Web应用程序调用存储库.代码隐藏或控制器(取决于业务逻辑的数量).首先尝试没有存储库.我个人的观点是人们应该在了解EF本身后才开始使用存储库.| 归档时间: |
|
| 查看次数: |
747 次 |
| 最近记录: |