关于此分层的意义?

zhang4488 2012-04-06 10:40:30
我的项目架构是:各客户端+webservice+数据源sql的一套物联网系统。

我查看了msdn上的《创建 N 层数据应用程序》,他是包括一个表示层、一个中间层和一个数据层,不知道这个是否与我的项目道理一致呢?

还有其中他讲到使用“数据集设计器”将数据集和 TableAdapter 代码分离到相互独立的类库项目中,这两部分都是中间层吧,各有什么作用呢,这个分层意义何在呢?
...全文
117 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang4488 2012-04-06
  • 打赏
  • 举报
回复
恩谢谢,那我仔细研究下msdn上的《创建 N 层数据应用程序》,也照他的去做。
可是我还有一些不明白,假如用三层模式,更换数据库的话可以只改中间层,不动表示层。但是如果用户要求增加某功能的话,还是需要改成千上万的客户端表示层吧?[Quote=引用 8 楼 的回复:]

这样做就是为了软件的可扩展和可维护性!没有那么多高深的道理。软件的设计模式,还有所谓的三层架构。最终的目的只有一个提高软件的扩展性和维护性!给用户更好的体验!能够快速解决用户的需求,而不需要改动大量的代码!你可以想像一下,如果你不用三层或设计模式去做。那么用户的一个小小的需求,就可能导致你修改大部分的代码,如果客户端成千上万,大哥,佛祖会保佑你的!
[/Quote]
nm_wyh 2012-04-06
  • 打赏
  • 举报
回复
这样做就是为了软件的可扩展和可维护性!没有那么多高深的道理。软件的设计模式,还有所谓的三层架构。最终的目的只有一个提高软件的扩展性和维护性!给用户更好的体验!能够快速解决用户的需求,而不需要改动大量的代码!你可以想像一下,如果你不用三层或设计模式去做。那么用户的一个小小的需求,就可能导致你修改大部分的代码,如果客户端成千上万,大哥,佛祖会保佑你的!
zhang4488 2012-04-06
  • 打赏
  • 举报
回复
是的,自己没有这方面的经验,所以才参考msdn上的《创建 N 层数据应用程序》,很想听取大家的意义,望前辈们多给予指点![Quote=引用 6 楼 的回复:]

看你自己的需求了,这个还是自己把握比较好,听听别人的意见到也不失为一件坏事,你说呢?
[/Quote]
mingcsharp 2012-04-06
  • 打赏
  • 举报
回复
看你自己的需求了,这个还是自己把握比较好,听听别人的意见到也不失为一件坏事,你说呢?
zhang4488 2012-04-06
  • 打赏
  • 举报
回复
谢谢楼上各位前辈
那我的项目中还需要用到他讲到的使用“数据集设计器”将数据集和 TableAdapter 代码分离到相互独立的类库项目中吗?不知道意义大吗?
传递正能量 2012-04-06
  • 打赏
  • 举报
回复
“数据集设计器”数据集 为的是更多层的重复使用

TableAdapter 和特定数据库关联,

如果要更换数据库,
换 TableAdapter
不换数据集设计器
orochiheart 2012-04-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

就是常说的三层结构,客户端是展现数据,webservice处理逻辑,数据层提供数据
[/Quote]
+1
传递正能量 2012-04-06
  • 打赏
  • 举报
回复
举个例子
客户端直接连接服务器数据库

当你有1000个客户端的时候,有一天要更换数据库,
那么你所有的客户端都需要改

如果你按照上面的分层了

有一天你要更换数据库,
改下webservice就可以了
bdmh 2012-04-06
  • 打赏
  • 举报
回复
就是常说的三层结构,客户端是展现数据,webservice处理逻辑,数据层提供数据
nm_wyh 2012-04-06
  • 打赏
  • 举报
回复
那就看实际情况了!理论应该都是可以实现的!但实际情况,你得考虑:
1、技术方面是否可以达到要求!
2、架构或者方案是否合适这个项目!
3、项目周期,用户需求等等一系列人为和不可预料的情况!
zhang4488 2012-04-06
  • 打赏
  • 举报
回复
嗯不知道我的项目是否适用于msdn上的这个方案呢?[Quote=引用 10 楼 的回复:]

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

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧