呵呵我不是高手。
我觉得PetShop只是一个演示,它把架构分的太细了,导致有很多dll在运行时需要加载,肯定会影响效率。
但是它的面向对象的思想比较突出,很值得借鉴。
我觉得具体的架构是需要根据不同的项目和需求来决定的,在设计某个架构时,我们可以预见一下接下来可能会出现哪些需求变化,如果出现了,这个设计能不能包容这个变化,或者需要修改多少代码。我最近在做一个项目,要求把以前用winform实现的功能用asp.net来实现出来。以前的winform代码有五万行左右。
这个项目很典型,大致就三层,数据库,逻辑,界面。现在需要把一些逻辑模块重构,以便让这些模块即支持winform UI又支持web client,开始我也参考了petshop,但是后来做出来的比petshop架构要简单。
我觉得PetShop只是一个演示,它把架构分的太细了,导致有很多dll在运行时需要加载,肯定会影响效率。
但是它的面向对象的思想比较突出,很值得借鉴。
我觉得具体的架构是需要根据不同的项目和需求来决定的,在设计某个架构时,我们可以预见一下接下来可能会出现哪些需求变化,如果出现了,这个设计能不能包容这个变化,或者需要修改多少代码。我最近在做一个项目,要求把以前用winform实现的功能用asp.net来实现出来。以前的winform代码有五万行左右。
这个项目很典型,大致就三层,数据库,逻辑,界面。现在需要把一些逻辑模块重构,以便让这些模块即支持winform UI又支持web client,开始我也参考了petshop,但是后来做出来的比petshop架构要简单。
你没有想过改变吧??
1。UI层。(就是界面和用户交互,把用户输入数据装到实体里)
2。业务层。(就是判断数据的准确性,长度啊,类型啊,A填了B就一定得填啊,或者XYZ必须填其中一项啊,还有增删改的限制,比如有效的数据不可以删除)。
3。数据访问层。(业务层的方法调用这一层的方法,然后把实体层的实体,通过存储过程,做增删改查,就是调用SQL的一层)。
4。实体层。(就是定义了很多很多变量,牧举,常量等所组成的实体。其实就是一个个数据容器定义,以后这些容器会被数据层拿去装东西,把实体装满后,再由业务层倒回UI层,把容器里的数据倒到UI层的表现控件里。)
一般C/S结构用MVC三层架构,
B/S模式就用VS提供好的架构,自己再多分几层,只为了方便
总之怎么方便怎么分就行