我的项目架构是:各客户端+webservice+数据源sql的一套物联网系统。我查看了msdn上的《创建 N 层数据应用程序》,他是包括一个表示层、一个中间层和一个数据层,不知道这个是否与我的项目道理一致呢?还有其中他讲到使用“数据集设计器”将数据集和 TableAdapter 代码分离到相互独立的类库项目中,这两部分都是中间层吧,各有什么作用呢,这个分层意义何在呢?

解决方案 »

  1.   

    就是常说的三层结构,客户端是展现数据,webservice处理逻辑,数据层提供数据
      

  2.   

    举个例子
    客户端直接连接服务器数据库当你有1000个客户端的时候,有一天要更换数据库,
    那么你所有的客户端都需要改如果你按照上面的分层了有一天你要更换数据库,
    改下webservice就可以了
      

  3.   

    “数据集设计器”数据集 为的是更多层的重复使用TableAdapter 和特定数据库关联,如果要更换数据库,
    换 TableAdapter 
    不换数据集设计器
      

  4.   

    谢谢楼上各位前辈
    那我的项目中还需要用到他讲到的使用“数据集设计器”将数据集和 TableAdapter 代码分离到相互独立的类库项目中吗?不知道意义大吗?
      

  5.   

    是的,自己没有这方面的经验,所以才参考msdn上的《创建 N 层数据应用程序》,很想听取大家的意义,望前辈们多给予指点!
      

  6.   

    恩谢谢,那我仔细研究下msdn上的《创建 N 层数据应用程序》,也照他的去做。
    可是我还有一些不明白,假如用三层模式,更换数据库的话可以只改中间层,不动表示层。但是如果用户要求增加某功能的话,还是需要改成千上万的客户端表示层吧?
      

  7.   

    如果用户要求改变表现层,那么你得更换成千上万的客户端,这是CS最大的缺陷。所以现在Web2.0发展比较迅猛,大多数公司都采用BS架构去实现用户表现层。但是BS也有自己的缺陷,最早的Web系统,没有Ajax,flex,serlivlight等富客端的出现。那么对于服务端来说是一场灾难!现在来说富客户端发展比较成熟。Ajax技术。flex和serlivlight可以真正的达到你CS,甚至比CS还要强大的界面表现。这些都是用来解决成千上万的CS客户端而存在的。而且有越来越多的人使用这些工具!
      

  8.   

    嗯不知道我的项目是否适用于msdn上的这个方案呢?