♂ASP.NET♀(C#)程序的三层架构设计(实战经验谈)_有过经验者请发言!

勤奋的阿拉丁 2005-05-23 11:43:18
春天走了,夏天来了,炎热的办公区还是没有给空调,真是热死人了,不过工作还得做,领导说我们下一个产品要采用最新的技术,要三层架构,要……,要……我都快睡着了,被领导一拳击醒,睁着不知所以然的眼睛看着他的吐沫星子喷溅而来,“三层架构……”,领导恶狠狠的说。

以前也听说过三层架构,什么Java中的Struts,.NET中的Transaction Server\Remote data Services……太混乱了,我不知道从什么地方下手,算了,领导的话就是圣旨。

从会议室回到座位,思量很久……

三层架构的好处肯定是有的,实现了表示、数据、逻辑的分开,减少了耦合度,更加灵活,适于维护,可开发成本提高了,尤其是我们部门没人做过呀。别的部门听说有人做过或正在做,听看过的人回来说也是一踏糊涂,为了不蹈他人覆辙,我决定好好规划一下。

这样吧,大家就在这个帖子里讨论一下吧,有谁搞过三层架构,希望理论知识就不要多谈了,谈谈大家是怎么实施的。从最基本的谈起,如何做需求与设计的,程序的架构如何搭建起来的(最好精到文件夹、包、类的划分),人员分工如何布置……

如果谁有做过的例子更好,可以给我发一份,其他人想要的也可以留下电子邮件地址。

我的电子邮件地址:aladdin_cui@yahoo.com.cn
(注:如果没什么意见或看法就说点别的,不要“up”“支持”“关注”……什么的,搞的太乱)
再次对各位的到来表示感谢,日安!
...全文
1464 42 打赏 收藏 转发到动态 举报
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
notus 2005-05-31
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/TopicView.asp?id=4035514

或许对你有所帮助 :)

我的观点: asp.net天生就是为了层模式而生的,至于到底分几层,就要看实际的需要,并不是说都要分三层!
cscyk 2005-05-31
  • 打赏
  • 举报
回复
路過
勤奋的阿拉丁 2005-05-31
  • 打赏
  • 举报
回复
好了,结构已经基本确定了,人员分配还存在问题,剩下的就是技术细节,谢谢大家了。
我这里把Java的东西给搬了进来,还算结构清晰,类似Struts!
wanjun830 2005-05-25
  • 打赏
  • 举报
回复
学习中,有点困难
搞的迷迷糊糊的
请大侠指教
CnEve 2005-05-25
  • 打赏
  • 举报
回复
Petshop 哪位大哥有啊,对3层结构也多少理解了一些了,想参考参考
my mail: long.eve@gmail.com
cykane 2005-05-25
  • 打赏
  • 举报
回复
我一般是把数据库作为数据层,把一些对数据库处理的方法封装成类,作为业务层,然后在ui中调用
jackwill 2005-05-25
  • 打赏
  • 举报
回复
很是喜欢三 层!
有交流和指教的朋友来一起聊聊!
QQ:12074814;妹儿:jackwill@126.com
jigee 2005-05-25
  • 打赏
  • 举报
回复
给个EMAIL:jiangsir6@163.com
lsmwell 2005-05-25
  • 打赏
  • 举报
回复
其实说起来我们用的基本上都是4层的,像楼上说的一样,把一些信息封装在一个类里。
qingyun1020 2005-05-25
  • 打赏
  • 举报
回复
.net程序,我觉得写个3层以上的结构还是很有必要的,把数据库处理作为一层,写成公共类封装在.dll 中,使用很方便。
如果项目分多期进行,每期用不同的数据库时建议使用至少4层的结构。
sql语句处理上单独写在公共类中,更换数据库时可以只改变这一层和数据库处理层就可以了。
jtl510 2005-05-25
  • 打赏
  • 举报
回复
好啊,上面的各位说的都好啊
我对架构只是了解一点
如果有什么好书,请多多给我介绍啊
谢谢了

Email:jtl510@126.com
scorpion007 2005-05-25
  • 打赏
  • 举报
回复
建议程序员可不能再浮夸风了!!
领导根本不理解和了解什么东西,而是听说最近有什么新技术,听起来不错。
回来就叫你们做,但是功能简单的就是一个网络留言板,还要你用三层结构来写!
郁闷吗?
具体功能实现不需要固定死模式的!
编程是为了实现具体功能和使用简易,不是单单就是为了什么什么开发模式开发!!!
哎,
不过估计你们领导只不过是想吹吹牛,我什么什么产品,使用什么什么最新的三层结构开发。。。

cxy89173 2005-05-25
  • 打赏
  • 举报
回复
Duwamish和petshop都是分层的,那么哪一个例子比较好入门呢?
CleverKingWM 2005-05-25
  • 打赏
  • 举报
回复
偶觉得
具体使用什么架构应该根据实际情况来说的
我做的前一个项目原来是准备使用仿Duwamish的,但是完全采用这种模式也不是完全好的,例如对于事务的处理就不大方便了,所以在虽然那个项目开始的时候定的基调是按照Duwamish的模式来开发,但到后来还是有不少地方用的是其他的方法来解决的.
不知道是不是我理解有误,反正感觉就是不能尽信模式,有的时候还是要结合来使用的.
lincai 2005-05-25
  • 打赏
  • 举报
回复
to:heilong05()
可否给个有图的网址,谢谢了!
foolnet 2005-05-25
  • 打赏
  • 举报
回复
以前写过
blog.csdn.net/foolnet
  • 打赏
  • 举报
回复
从企业的角度看,我认为有意去分化不同层次的程序员非常必要。不是每一个程序员都想创业,你提升他就是浪费自己。要把握好“核心技术”,让普通的程序员在所有“软件工人”中达到最高效率,然后是否提升他要看缘份。没有核心技术只会空话的领导才会一个劲让手下程序员替自己设计底层系统。
  • 打赏
  • 举报
回复
基本上这个板块上的所谓“三层”的帖子我都没有跟,原因是我认为太空泛化了。就像搂主的那个领导,竟然开会宣布三层架构,而不是将具体功能布置给低级程序员写代码。就算是从设计师的层面上来看,例如 yipiaoqingshui(一瓢清水) 所说的实际执行的方式,我认为缺少从较高的应用出发去设计层。作为项目管理者,要把握高层业务系统组件的进度并且及时测试,然后推销给程序员尽量简单地“拿来就用”,不能让程序员们去各自自己去研究什么“高深”的原理。他们不用我们推行的组件、方法往往是因为这些东西确实不好用,但是项目经理往往沉迷于自己想学习的东西(好跳槽)而忽视企业的利益,最终推行不实用繁文缛节的东西。我的经验,不要推行什么理论,反而要鼓励程序员尽量按照他们自己认为对的方向去开发,但是给他们较短的时间期限间接促使他们使用通用组件。
mamoon 2005-05-24
  • 打赏
  • 举报
回复
上楼的兄弟说的好啊,不知能不能发个项目工程事例过来,mamoon@sina.com
yipiaoqingshui 2005-05-24
  • 打赏
  • 举报
回复
三层结构不会开发成本增加的. 相反能让你的代码更加容易维护.为以后打下基本
不要以为层多就是开发成本高了..细致点便于业务的拆分理解.各层的作用明确..

我们公司大致有5-7层呢~~稍微说说
实体层..都是一些后缀为xsd的文件..里面存储的都是一些表的数据结构
工厂层..数据工厂..
接口层..不同接口的调用.与数据工厂一起使用
实现层..所有与数据库有关的都再这里.与业务逻辑无关
规则层..规则.逻辑判断.以及组合dataset等等
表示层..就是aspx页面

一层一层的调用..很清晰吧..嘻嘻

我们还有一个DateBase的管理..所有的数据库里面的东西.比如存储过程,表和视图的SQL语句

希望能给点帮助
加载更多回复(22)

62,266

社区成员

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

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

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

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