呵呵我不是高手。
我觉得PetShop只是一个演示,它把架构分的太细了,导致有很多dll在运行时需要加载,肯定会影响效率。
但是它的面向对象的思想比较突出,很值得借鉴。
我觉得具体的架构是需要根据不同的项目和需求来决定的,在设计某个架构时,我们可以预见一下接下来可能会出现哪些需求变化,如果出现了,这个设计能不能包容这个变化,或者需要修改多少代码。我最近在做一个项目,要求把以前用winform实现的功能用asp.net来实现出来。以前的winform代码有五万行左右。
这个项目很典型,大致就三层,数据库,逻辑,界面。现在需要把一些逻辑模块重构,以便让这些模块即支持winform UI又支持web client,开始我也参考了petshop,但是后来做出来的比petshop架构要简单。

解决方案 »

  1.   

    那是因为你2年来一直都在不停地Baidu+Google,不停的CTRL+C/CTRL+V,
    你没有想过改变吧??
      

  2.   

    如果你用了petshop框架开发半年以上,还没有对框架进行一些扩展和定制的话,说明你都框架还是没有理解,petshop是一个很好的模型基础,可以满足应用,但是同时在不同的企业会有不足的地方,你可以根据需要来完善出一套自己的框架.
      

  3.   

    PETSHOP只是给新人玩的?那看来我还没入门呢。
      

  4.   

    小项目一般不需要分层,稍微大一点的项目要考虑以后扩展情况,这时就要架构师来发挥作用了,你必须充分考虑到以后扩展情况,搭建一个合理的架构来,其实PETSHOP数据访问的时候做的还是不错的,只不过OR MAP做的一般,是个缺点,实体没有和数据库完美结合
      

  5.   

    其实也有不少程序员或者架构师靠一套架构打天下,混饭碗的,我以前一个同事,他就自己写了个代码生成器,写了个很复杂的(比Hibernate复杂很多的),我们一开始都看不太清楚,据说经过他几年的使用没磨练已经很稳定了),现在他就靠这个架构一直混到技术总监的位置了呵呵,因为他那套架构招个程序员来只是写写业务层的逻辑就可以了,现在收入也不少了
      

  6.   

    我们现在的项目分:
    1。UI层。(就是界面和用户交互,把用户输入数据装到实体里)
    2。业务层。(就是判断数据的准确性,长度啊,类型啊,A填了B就一定得填啊,或者XYZ必须填其中一项啊,还有增删改的限制,比如有效的数据不可以删除)。
    3。数据访问层。(业务层的方法调用这一层的方法,然后把实体层的实体,通过存储过程,做增删改查,就是调用SQL的一层)。
    4。实体层。(就是定义了很多很多变量,牧举,常量等所组成的实体。其实就是一个个数据容器定义,以后这些容器会被数据层拿去装东西,把实体装满后,再由业务层倒回UI层,把容器里的数据倒到UI层的表现控件里。)
      

  7.   

    3层够用了,
    一般C/S结构用MVC三层架构,
    B/S模式就用VS提供好的架构,自己再多分几层,只为了方便
    总之怎么方便怎么分就行