社区
研发管理
帖子详情
问一下有关三层结构的问题。
ghosthjt
2005-04-07 04:54:59
看了这个版块,发现很多地方都在说软件的三层结构的问题,(表示层,业务层,数据操作层)
我想问一下具体来说怎么来建这三层结构的类,各位达人说说思路是怎么样的。因为我从来没有用过这样的模式.比如说开发一个人力资源管理系统,这三层结构大致应该怎么建呢?
...全文
296
15
打赏
收藏
问一下有关三层结构的问题。
看了这个版块,发现很多地方都在说软件的三层结构的问题,(表示层,业务层,数据操作层) 我想问一下具体来说怎么来建这三层结构的类,各位达人说说思路是怎么样的。因为我从来没有用过这样的模式.比如说开发一个人力资源管理系统,这三层结构大致应该怎么建呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xyj0323
2005-06-11
打赏
举报
回复
楼上的何处此言!
qrlvls
2005-06-11
打赏
举报
回复
还在讨论三层结构是否有些过时了?
I_Iverson
2005-06-10
打赏
举报
回复
还有个说法是便于分工,个人不怎么赞同
I_Iverson
2005-06-10
打赏
举报
回复
为了体现oo的优势,为了组件的重用,为了web层代码的清晰。
其实分层就跟你在一个类里面写方法的道理一样,如果一个方法太大,包含了太多的逻辑,肯定会让人摸不清头脑,所以,你就有可能把这个函数重构,会把这个大方法分成几个小方法,一来你的代码清晰了,自己和别人好看,二来重构出来的方法有可能给别的地方调用。多层也是同样的道理。。。
有时你觉得一个大方法分成两个小方法还不够,还想分成更多的方法更方便。 分层也一样,如果三层不够了,你再分多层就可以了,直到够用。
lemong
2005-06-10
打赏
举报
回复
简单说来
1.ui层,也就是界面层.
在ui层只处理一些用户输入(包括输入检查),输出,中间的数据处理都交给业务层(也就是相关的业务类)处理.比如,人力管理,这里就是web portal的页面.
2.业务逻辑层,就是具体处理你的业务了.
这里只是用户输入的数据做简单处理后传给数据层(数据访问类),或者把数据层返回的数据做处理后返回给ui层.比如,人力管理,员工管理类(包括员工属性,员工的新进,员工的调动,员工的离职)
3.数据处理层,完全是用来处理与后台交互的操作,应该是跟任何业务都没有关联的,只和数据库有关系.这里的没个类说白了,就是针对每个表做处理的(增加,修改,删除)
XACZ
2005-06-09
打赏
举报
回复
学习
将就点
2005-04-12
打赏
举报
回复
有时间看看C++之父写的C++程序设计语言,里面对软件组织,分层结构有过深刻的论述
将就点
2005-04-12
打赏
举报
回复
软件体系结构还要自己多多联系才能体会深刻,试试写写简单的MIS,怎样安排你的软件结构才能做到
1:条理清晰。团队(3人以上)能够很容易理清你搭建的体系脉络
2:维护量小。如何作才能使小小的必要的改动对整体改动要求最小
3:升级方便。当客户端界面需要变化发展,但是业务功能不变,或者业务功能改变,界面不需要改变,或者二者相应发生变化,或者数据库或者数据表的改动时,怎样做最省事。
当这些你做到的时候,你就明白 hedonister(冰戈) 说的是什么了。^_^
ghosthjt
2005-04-11
打赏
举报
回复
难道这些就是传说中的三层结构吗??
zengjd
2005-04-11
打赏
举报
回复
既然你明白了就赶快结贴
ghosthjt
2005-04-11
打赏
举报
回复
程序本来就是要这么写的嘛,肯定要有界面,肯定要对数据库进行访问,这样不叫分层吧??
我现在的做法是,一个类里包含了对数据库的操作,也包含了业务的逻辑,但不包含用户界面。
hedonister
2005-04-10
打赏
举报
回复
所谓的三层结构设计
1.ui层,也就是界面层,用户交互包括你说的后台,因为管理网站时你其实也是个用户,所以不分什么给人浏览的部分就没必要用三层,一样要用;具体是这样的你把关系到业务处理的程序剥离出来,在ui层只处理一些界面上必须的东西,比如绑定个数据,datagrid显示效果啊,按扭等控件的显示风格什么的;
2.业务逻辑层,就是具体处理你的业务了,比如根据ui层传来的条件组成sql语句,对具体某个业务块对得到的数据进行业务处理,千万记住在ui层最好不要出现完整的sql等暴露数据库结构的语句,因为关系到安全的问题,到这了,就可以谈数据处理层了;
3.数据处理层,完全是用来处理与后台交互的操作,应该是跟任何业务都没有关联的,这里应该是重用率最高的地方,如果开发过几个系统就应该可以形成一个比较成熟的数据访问层了,可移植性很强通用性很高,建议看看微软的accb,这块是干什么的清楚了,再补充句,通俗点说就是将你在业务逻辑层组好的sql语句交到ado.net或后台执行,你得到结果或对后台数据库数据进行更新等操作;
oyljerry
2005-04-10
打赏
举报
回复
3层机构一般是逻辑上的
表示层,就是你的系统界面等
业务层,就是界面中的输入数据或别的信息
数据操作层,就是数据的查询,结果的返回等
lisir010
2005-04-08
打赏
举报
回复
不错
zengjd
2005-04-07
打赏
举报
回复
最早的程序是不分层的,比如早期的批处理系统,只要编写操作某些文件格式的程序.
后来,随着客户机/服务器系统的出现,分层的概念就明显了,这样的系统是两层结构,客户端包含界面也包含应用代码.服务器端是数据库.但领域逻辑复杂并且易变时,这样做会有很多缺点,冗余代码,不利于重用,不利于分工等等.
再后来,面向对象的编程序的思想普及了,面向对象为领域逻辑问题找到了答案,转到三层架构的系统,在这中种方式下,表现层实现用户界面,中间层实现业务逻辑,在数据源层存取数据,这种方式可以将复杂的领域逻辑从界面中抽离出来,用对象加以建模和组织。
注意:三层结构不是物理的分层,客户机/服务器是两层的结构,它是物理的分层,客户机在一台台式机器上,服务器端是一台服务器,而三层机构无需把不同层次放到不同的计算机上运行,独立出来的领域逻辑层无需放到独立的计算机上,如果数据库在本地,也可以在一台机器上运行三层系统。
具体如何分离取决于系统的复杂度,从数据库中读取数据并将其在界面上显示,可能在一个过程中完成,但仍然存在三个层次,可能在这里只是把三个层的行为放到三个子程序中。如果系统稍微复杂一些,就可以把三层做成三个类,依此类推。但至少切记一定要进行某种形式的分离,至少在致程序级。
领域逻辑可以进一步分层,形成多层结构。
ASP.NET就业实例视频教程(4)
三层
架构——让代码
结构
更清晰
来搭建网站,通常大型项目都会使用
三层
或更多层实现。本课程就来学习
三层
架构。 【课程特色】 1、课程设计循序渐进、讲解细致、通俗易懂、非常适合自主学习 2、教学过程贯穿实战案例,边学边用 3、突出技术关键点、...
三层
构架总结
一、
三层
结构
概念 所谓
三层
结构
,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里的
三层
体系,不是物理上的
三层
,也 不是简单的放在三台机器上就是
三层
体系
结构
,也不仅仅有B/S应用才有
三层
体系
结构
。
三层
结构
是指逻辑上的
三层
,是可以放在同一台机器上的。 通用
三层
结构
模型: 中间层通常包括业务逻辑层(Business Logic Layer,简称BLL)、数据访
问
层(Database A
mvc与
三层
结构
终极区别
注:本文章内所有内容都来自互联网,本人主要是起了一个收集的作用 http://www.cnblogs.com/zhhh/archive/2011/06/10/2077519.html 又看到有人在
问
三层
架构和MVC的关系,感觉这种
问
题
有点教条化了。因为它们都在逻辑上将应用程序划为三块,凑了一个数字3,就有人非要把它们联系到一起了。 这两个东西我接触有几年了,有一点体会,表达
一下
:
关于JavaWeb
三层
架构(javaweb独有的
结构
)
关于javaweb
三层
架构已经学了一段时间,一直想做一个比较完整、比较完美的总结。但是左思右想,不知道如何下笔。进过今天的视频上老师所讲解的例子,对于
三层
架构的理解变得多了一些。 对于初学者,我们也许会
问
什么是
三层
结构
,为什么会用
三层
结构
? 1,什么是
三层
? 2,为什么使用
三层
? 3,
三层
与以往使用的两层相比有什么不同?它的优势在哪里? 4,如何学好
三层
?如何应用
三层
? 对于
三层
我左思...
三层
架构(nodejs)
三层
架构(前端)高内聚低耦合
三层
分别是什么表示层(显示层)业务逻辑层(数据层)数据访
问
层(持久层)在nodejs中的
三层
架构dao-数据层service-数据处理层ui层 (router)
三层
架构从字面上来说就是值有
三层
不同的
结构
,每层负责着不同的数据或者处理不同的数据。
三层
架构就是为了符合“高内聚,低耦合”思想,有人又
问
了什么是高内聚什么是低耦合 高内聚 模块内部的元素, 关联性越强, 则内聚越高, 模块单一性更强。 一个模块应当尽可能独立完成某个功能,如果是地内聚的代码模块那么维护起来很麻烦 低耦合
研发管理
1,265
社区成员
28,324
社区内容
发帖
与我相关
我的任务
研发管理
软件工程/管理 管理版
复制链接
扫一扫
分享
社区描述
软件工程/管理 管理版
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章