《[我的理解]真正的三层架构》的小结

自然框架 2007-03-18 05:14:59
《我的理解真正的三层架构》的小结

写这个帖子是一个灵感加上一时兴起,没想到占到了头条的一个位置。首先感谢大家的回复,这么多人关心这个话题,这么多的回帖,谢谢大家。

写个小结以回报大家的支持。

1、标题写错了。

不应该使用“真正”二字,现在看来有点骗人的味道了。

2、我没有看懂PetShop,更不是基于这个来写的帖子。帖子的依据是我写过的项目(大部分是网站)。
由于项目比较简单,导致我的得出了一个很有争议的一句话“业务层大多数情况一句话就实现了”。
很多人都是不赞同这句话的。想来大家都在做更复杂的项目吧。


3、回帖人的几种观点

A、基本同意。应该是和我有类似的经历,写过的项目和我说的差不多少,个别的地方不太一样,但是没

有本质的区别,没有原则性的分歧。

B、以前同意。和他的以前的做法基本一致,但是现在他找到了更好的方法。

C、反对的。很多地方都是不占同的。说了一些原因,但是可惜没有说出来自己的做法。大家共同提高,

一起进步嘛,多多交流不好吗?就算是不愿意和我一般见识,但是还有好多看帖子的呢,帮帮他们也行呀


这些人因该是做过大项目、复杂的项目,有其自己的理解,可能认为我太幼稚,知道一点就拿出来吹。呵

呵。说出自己的观点,等待板砖,这也是我发帖的一个原因。

D、迷糊的。以前或清楚或迷糊的,看了大家各自的观点后,越发的迷糊了。估计是看了A的观点后,感觉

挺对的,然后又看了看B的观点,恩,也挺对的。但是放在一起看,就矛盾了。自己不知所从。
估计这些人没有太多的经验,自己对三层的理解不是太深,看了各家的观点之后,思维就有一点乱了。


E、随意的。蛋糕怎么切都行,层次根据需求、项目来定,符合要求就行,没有固定的格式。

F、极端的。要么三层,要么就不分层。其实asp.net写的东东,很少有不分层的。入门级的“教科书”上

的例子除外。


G、看了一下,没有sp1234的留言,很期待的。如果他来说上几句的话,一定很经典的。

(说了这么多很是怕怕,害怕说错话了就麻烦了:)。万一说错了,请多多原谅!)

发帖之本来是想把三层说得再细一些,让刚接触三层的能够有一个“细致”一点感觉。
我刚接触三层的时候看到最多的就是一些很概括的东东,比如:

UI层,逻辑层、数据层、低耦合、高内聚、便于维护、扩展好。等等,晕呀,怎么建项目,怎么写代码,

怎么实现这些优点?

到网上搜索三层就是一些“含糊”的说明,比如
我觉得三层架构主要是实现分而治之的思想,把一个程序逐步分解:
第一步:将程序分成表现层和逻辑层。该层不知道商业逻辑是什么,也不需要知道。(只需要知道某页面

需要显示,处理哪些数据,如何显示,处理就行)
表现层:将取得的数据转化为用户可以看到的东西。
逻辑层:实现如何取得数据的逻辑。

有了这个分解后,再把上面的逻辑层进一步分解:
第二步:将第一步中的逻辑层分解成用户业务逻辑层和数据库实现层。
用户业务逻辑层:针对用户业务的流程;该层不知道数据库是个什么样子,也不需要。
数据库实现层:提供用户业务的流程中所需要的数据。(需要知道数据库是个什么样子,逻辑层需要哪些

数据,不需要知道用户的业务流程)

看了之后还是很晕。也许是我太笨吧。


4、我写的这个根本就不是面向对象的思路,我是面向代码(哪些代码放在哪里)、面向数据库(提到了SQL语句、存储过程、视图、表)的。外加面向功能(这里好像没有体现出来,但是我的网站代码就是用的面向功能的思路来写的)。

这么描述可以简单一点吧,“入门”一点。


5、得到了很多的回馈,看到了大家的不同意见,也了解到确实有很多人是这么使用三层结构的。

同时也感谢管理员把帖子放到了头条的位置!


6、我想做一个“开源项目”,通过实例来具体探讨一下怎么来写网站。希望大家能够支持!

这将是一个漫长的计划,我想每天拿出10分钟来写点具体的代码,然后大家一起来讨论一下优缺点,有没有其他的实现方法,以及日后的扩展,升级,维护等问题。

一开始会写一点简单的,比如添加数据了什么的,从基础开始,step by step。
如果顺利的话会写点“复杂”的,比如信息发布、论坛了什么的。

当然需要大家的支持,只有我一个人的话,一定是坚持不了几天的。


从明天开始吧。
希望斑竹支持!:)


...全文
1698 58 打赏 收藏 转发到动态 举报
写回复
用AI写文章
58 条回复
切换为时间正序
请发表友善的回复…
发表回复
creatdatabase 2011-03-27
  • 打赏
  • 举报
回复
UI层,逻辑层、数据层、低耦合、高内聚、便于维护、扩展

我想这就是为什么需要用三层架构来开发项目的一个特色吧
ilexyang 2007-04-03
  • 打赏
  • 举报
回复
不论成与败,支持一个
lyb_abiandbel 2007-03-30
  • 打赏
  • 举报
回复
谈架构前先想想你满足了用户需求没有。
程序有没非常明显bug,运行中有没瓶颈,是否防止了sql注入了的。

架构对了asp.net开发来说太复杂了。原因就是因为界面因素,用asp.net控件是一种架构,不用控件又是另一种架构。

做web开发的,先把用户交互体验做好都不错了,再看看有没其它什么问题,最后你觉得十再没有上升空间了再说架构问题。

我相信这回贴的人99.9%都是搞一般技术的,说穿了也就是做点小mis,小网站。当然我也没搞过很大的东西。

先测试验下你的url传值在id=1后面加个s看看有没黄屏,没黄屏再来说这些。
=========================================

哎!!!!!
impeller 2007-03-30
  • 打赏
  • 举报
回复
关注
zhaozhenmao 2007-03-30
  • 打赏
  • 举报
回复
支持你
iloveaspx 2007-03-26
  • 打赏
  • 举报
回复
哈哈,这里好多三层的示例源码,愿意与大家一起分享

http://www.51aspx.com/Tags/2/
ilexyang 2007-03-26
  • 打赏
  • 举报
回复
mark
nyzfl 2007-03-26
  • 打赏
  • 举报
回复
向lz学习
huyidao21 2007-03-26
  • 打赏
  • 举报
回复
mark偶做好像也是三层
自然框架 2007-03-26
  • 打赏
  • 举报
回复
up
zifeng_86188281 2007-03-26
  • 打赏
  • 举报
回复
楼主是个热心人,关注中
自然框架 2007-03-25
  • 打赏
  • 举报
回复
up
job_2006 2007-03-23
  • 打赏
  • 举报
回复
关注加收藏
自然框架 2007-03-23
  • 打赏
  • 举报
回复
对不起大家,推迟了这么多天,我设想的第一篇帖子才写出来了一半。

写在csdn的blog上了,不过好像有缓存看到的是老的内容。没有更新。
后台看是新的,前台就是就的了。:(

http://blog.csdn.net/jyk/archive/2007/03/20/1535544.aspx?

还是到博客园看最新的吧。

http://www.cnblogs.com/jyk/archive/2007/03/23/685075.html

xiaoliangwh 2007-03-21
  • 打赏
  • 举报
回复
good luck !
zorou_fatal 2007-03-21
  • 打赏
  • 举报
回复
我建议楼主去看看GRASP原则
gxboy 2007-03-21
  • 打赏
  • 举报
回复
to:jyk

发那么大火干吗,我不是说了吗,没黄屏你就可以发表啊。
as13019625389 2007-03-20
  • 打赏
  • 举报
回复
mark
lordych 2007-03-20
  • 打赏
  • 举报
回复
强烈支持楼主,有爱心的人。
peironghe 2007-03-20
  • 打赏
  • 举报
回复
ok,支持!
加载更多回复(37)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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