我以前是Winforms程序员;我总是分区程序,分为两个部分,即前端(Winforms)和中层(通过远程/WCF促进)

在该方法上,前端代码无法访问linq或system.data.sqlclient。但这具有额外的优势,即中层阶段是即时的SOA-Citizen(面向服务的体系结构),可以在B2B方案,数据库 - Agnostic和Internet能力中使用,即使它只是Winforms应用程序。

现在我正在学习网络技能。使用Book Pro ASP.NET MVC中的SportsStore项目,我不可避免地会比较我的旧(?)方法(中层)和该书上的存储库方法。存储库方法直接在前端(SportsStore.wubui)上公开数据访问机制(LINQ至SQL)。使用存储库方法,sportsstore.webui仍然与数据库有直接的连接。

问题是,在Web程序上,我是否应该渴望将前端与中层接口进行接口(因此前端可以是数据库-Nostic,而中间层是即时的SOA-Citizen,或者我应该是我直接在前端使用数据库(通过存储库方法,ORM或类似方法)?

有帮助吗?

解决方案

我敢肯定,为了简洁起见,这本书违反了一些最佳实践。作者必须平衡“我如何获得“与“正确的方法”是什么是正确的方法”;他们通常选择前者(正如他们应该的那样 - 这是一本关于网络开发的书,而不是关于建筑,对吗?)。

您绝对应该继续使用N层体系结构。 N层体系结构的全部要点是让您(更多)轻松地交换层 - 切换数据库,切换用户界面(例如,用ASP.NET替换Winforms)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top