我想问一下各位用ASP.NET 开发WEB的架构。其实也可以说是分为B/S(数据及业务逻辑放在页面层或代码层实现多将SQL语句写在代码里)和C/S(数据及业务逻辑放在数据库里实现多用存储过程和DLL)两种架构,这种说法对吗?那么,我们在做WEB开发的时候究竟用哪种架构更好呢?我是一名刚接触ASP.NET的人(自学的),主要业务是放在ERP上,同是也要负责公司网页修改方面的工作。以前我做DELPHI的开发(自学的),习惯于C/S模式的开发(习惯于用中间层处理数据),现在做网页的时候,同样也是一样。我公司现有的一些ERP的扩展程序是在WEB上实现的,我看了一下源代码,很是看不习惯。比如说像BOM回算展开等这样大数据量处理过程也是放在网页里实现的。而我现在习的ASP.NET的教程上面,对于一般的业务逻辑却又都是放在存储过程里实现的(如后台管理添加用户,删除用户等都是放在存储过程里的)。
因为我习惯于三层架构,我在写代码的时候,也是一样的习惯于将导航栏什么的全部放在数据库里,然后加载网页的时候从后台加载(设置了一个专门增加模块的管理页面)。如果我要增加一个新的网页功能的时候,我就可以从管理页面里将功能代码添加进去,因为有了模块数据库,所以我认为用户的权限功能也是很好控制的。
不知道这样好不好?各位对于WEB开发有什么建议?我在做WEB开发的时候,我究竟该用哪一种架构来做呢?我很迷惑,同时也痛苦,为什么DELPHI为什么会被很多人抛弃。其实我很爱DELPHI这个工具的。
我在这个认坛里,希望得到你们的帮助,谢谢!

解决方案 »

  1.   

    理解有误,Web开发。他本来就是B/S系统。就用LZ习惯的“将导航栏什么的全部放在数据库里”。
    用三层吧。DELPHI不是被抛弃,是.NET汰强了,恨多人愿意选后者。
      

  2.   

    但是我最近写的一个网页,基本上全部都是放在后台的哦,不知道好不好啊?比如说动态加载控件什么的,都是这样,比如说我只用一个母版页(因为是公司内部的网站一个风格基本就行了),然后将从后台将导航栏取出来。点击哪一个链接,再从后台取控件代码,将控件动态加载上去,这个就像是在DELPHI下面用虚拟窗体一样。而且我认为这样有利于今后网页的扩展。我的做法对吗?
      

  3.   

    你的这种设计很灵活,重用性和可扩展性都很好,大名鼎鼎的开源项目DNN(DotNetNuke)就将这种设计思路发挥到了极致,只不过性能会受很大影响。
      

  4.   

    因为我刚才觉得我这个贴子不能放在C#的版里讨论。所以移贴到ASP.NET里了,谢谢你啊,
      

  5.   

    b/s结构是指基于浏览器/服务器的(比如网页)
    c/s结构是指基于客户端/服务器的(比如银行的ATM机)
    并不是说数据和逻辑结构放哪里的问题~
      

  6.   

    web本身就是B/S架构的,C/S是需要装客户端的,你原来的delphi是C/S的,现在做B/S开发其实有些东西是差不多的,可以使用各种控件.
      

  7.   

    确切的说,B/S结构也是C/S结构,只不过Client段都统一为浏览器了