小弟一直不太明白3层结构的设计,如果不分层的话,所有的操作都在ui界面上来做,有什么不好呢,大家来说说吧..

解决方案 »

  1.   

    如果都在UI層裡面,代碼混亂,維護起來不方便.版本升級麻煩.
    如果分為3層 UI ,LOGIC,DataAcess .這樣當LOGIC發生變化時,只需修改LOGIC層,而無須修改其他的的層.還有如果數據庫從SQL SERVER 移到ORACLE ,只需做DataAcess 修改就OK了 我只是簡單說一下分層的好處.而且代碼分層的話.代碼看起來清晰,容易維護,系統的總體架構清晰,可擴展性強!.
      

  2.   

    > 所有的操作都在ui界面上来做,有什么不好呢?
        这样做也是可以的,这也是一种编程模式。它的最大优点就是所有的代码一目了然,所有操作的来龙去脉十分清晰,所以大多数示例程序都是这么做的。    重要的是变化,一旦需求发生了变化,当你需要修改代码时,由于把代码都写在UI上会造成大量的重复代码,所以你就必须要重复修改代码多次,这样不但麻烦,而且很容易出错。
      

  3.   

    已有相关讨论。参考:
    http://community.csdn.net/Expert/TopicView3.asp?id=4734145
      

  4.   

    如果都放在UI上的话
    UI的代码会越来越多,而且显示的逻辑和业务的逻辑还有操作数据库的逻辑都混在一起,你会疯了的,想像一下原来的很多人写ASP的方法吧分层后,可以各自分工开发,之间不相互依赖,提高了生产效率。
    如果有一层的代码需要修改,不用改动其它的,保障了代码的稳定性。暂时就想到这么多
      

  5.   

    没有分层的后果是,业务逻辑变了的时候,要修改大量代码。但是也有优点,程序运行速度快。数据库设计?你的意思应该是数据层吧?是的也有分层。以实现在多种数据库的平台无关性。可以在SQL Server,也可以在MySQL,也可以在Sysbase……
      

  6.   

    如果都放在UI上的话
    UI的代码会越来越多,而且显示的逻辑和业务的逻辑还有操作数据库的逻辑都混在一起,你会疯了的,想像一下原来的很多人写ASP的方法吧分层后,可以各自分工开发,之间不相互依赖,提高了生产效率。
    如果有一层的代码需要修改,不用改动其它的,保障了代码的稳定性。
      

  7.   

    在用.NET开发大型系统的时候,一般都是做成三层(或是N层)结构的形式。即将应用程序逻辑地分为3个基本层:数据访问和存储、业务逻辑层、表示层。三层结构的优点主要是:可扩展性、可伸缩性和灵活性。在做Web应用的时候,可以考虑采用MVC(模型-视图-控制器 Model-View-Controller)模式让Web应用程序的用户界面功能实现模块化。
      

  8.   

    分层在于适应变化。
    比如需要提供一些公共服务了。
    那么,分层的优势很明显。可以直接使用原来的逻辑。
    对于软件的改动也是最小的。My .Net DataAccess Framework: wildfish.tigris.org