ASP.NET的第一个多层结构项目,大家帮忙分析分析。
谢谢。结构图链接地址。
http://www.m8cool.com/structure.gif

解决方案 »

  1.   

    还有一个问题,现在发现“DA”层需要引用“Common”层。
    主要要调用“Common”里的“Tools.ConvertEmptyStrTofalse、Tools.ConvertEmptyStrTofalse、Tools.ConvertDate”作用就是处理空数据。不知道会不会有什么冲突呢。
    本人第一次用.Net采用三层结构设计,之前只看了看“PetShop跟压缩包里的讲义”。
    谢谢。
      

  2.   

    修改后的项目引用:项目名称   项目引用
    WEB    Model、BLL、DA、DAxml、Common、WebControl
    Model    Null
    BLL    DAxml、Model、Common、DA
    DA    Model、Common
    DAxml    Null
    Common    Null
    WebControl Null
      

  3.   

    不好吧,就算是为了效率这样的借口
    也不能成为打破自己建立的Facade直接访问的原因
    约定就是约定
      

  4.   

    如果按slimsymphony,所说,会多写很多多余的代码。
    难道真的要为了约定就牺牲方便多写很多多余代码。修改后的项目引用,帮帮看看有没有冲突好吗?
    项目名称   项目引用
    WEB    Model、BLL、DA、DAxml、Common、WebControl
    Model    Null
    BLL    DAxml、Model、Common、DA
    DA    Model、Common
    DAxml    Null
    Common    Null
    WebControl Null
      

  5.   

    WEB 引用bll就可以了,不需要引用da和daxml呀
      

  6.   

    “WEB 引用bll就可以了,不需要引用da和daxml呀”
    谢谢。
      

  7.   

    考虑到“表示层”直接访问“数据层”所以引用了“DA”跟“DAxml”项。
    现在接受“slimsymphony”的意见,“表示层”不再直接访问“数据层”。
      

  8.   

    不太明白(本人基本不懂)
    但是楼主使用三层结构,一般说明项目简单其实80%的项目太具有行业独立性了,用于共享的代码不多,所以可以自由发挥也可以,只要能完成就行.
    asp.net的多层结构,其实是将表示层,业务逻辑层、数据层中的业务逻辑层进行了进一步的分解,主要是对业务对象进行数抽象后实现各种对象的业务逻辑,可以将这此逻辑做成一个dll然后分别放到多个机子上进行服务,所以对于简单的项目不必做很复杂的。
    至于你的表示层真接访问数据层,不知你是怎么想的,难道访问数据库时返回的数据一点都不处理吗?而且你要通过ado.net才能访问,你的方式有点不明白。
      

  9.   

    /// <summary>
    /// 新增一条供求信息
    /// </summary>
    /// <param name="Info">供求信息对象</param>
    public void Insert( SupplyDemandComponent Info )
    {
    da.Insert( Info );
    } /// <summary>
    /// 更新信息发布状态
    /// </summary>
    /// <param name="ID">ID</param>
    /// <param name="Publish">发布->1/隐藏->0</param>
    public void Publish_Hide( string ID,int Publish )
    {
    DataHelper.UpdateRecordValue( this.TableName,this.IDField,ID,"Publish",Publish.ToString() );
    }类似这样的过程太多了。
    当初想像这样的过程,就不通过逻辑层,直接访问数据层。
      

  10.   

    最头痛的还是修改逻辑层后(生成dll文件),会使网站因重新编译而丢失运行中的操作或数据(如session保存的)
      

  11.   

    使用vs.net 创建一个企业级工程你就知道了。。其它的东西
      

  12.   

    表示层直接访问数据层?
    用UML图会更清楚吧