求一个用记事本来说明三层架构的例子 来的有分,我就这点分,全送了!!!
我不看代码 只要汉字说明就行
例如
第一层
显示记事本里数据
第二层
关键就是这里(我就想知道这里是做什么的)
第三层
调取数据(还有这里,除了调取数据之外还做处理什么的么)
还有就是如果做分页那分页处理是在第一层还是第二层呢? 谢谢
------解决方案--------------------个人理解,高手勿骂。
第一层
表示层,发送请求(提交表单),获取/显示数据,就是输出数据(布局、字体、颜色、大小等)和输入数据。
第二层
业务层,处理业务逻辑,业务逻辑可能听起来很迷茫,我理解的就是包括下面几个:
a、处理表示层提交的数据和请求,验证数据的合法性和用户身份的合法性。
b、业务流程,在oa等系统中用户的一个请求操作往往会涉及到很多数据的变动,具体的过程由业务层完成,表示层不涉及也不需要知道具体过程,只要等待接收处理结果即可。
c、向数据层请求/输入数据,就是把验证合法的数据提交给数据层,或者是从数据层发出读取数据的请求,等待数据层返回结果。
第三层
数据层,接收业务层的请求,对数据库进行输入/输出数据操作,并将结果返回给业务层。
举个例子:
用户登陆
表示层:输入用户名和密码
↓
业务层:接收数据并验证数据的合法性
↓
数据层:接收数据,到数据库匹配用户名和密码,并返回结果(假定匹配成功)
↓
业务层:接收结果,运行登陆逻辑(创建登陆状态,记录COOKISE等),向表示层发送登陆结果。
↓
表示层:接收结果,处理并显示给用户。
希望能帮到你。
------解决方案--------------------人是活的,程序是死的,没有必要将它分得这么清楚
分页其实是为了性能,而性能与架构有时候是冲突的,没办法很好的解决,这得看看你的设计
如果把整个数据都放在内存,个人觉得就在应用层处理,如果数据是从数据库取出,当然是从数据库处理比较好
------解决方案--------------------第二层
关键就是这里(我就想知道这里是做什么的)
-----------------
看你写的,1,3层,这里应该只需要调用3层的接口,取得数据
然后传给1层。
关于分页
----------------
3层传回的数据得到记录数
由2层传给1层,然后1层来实现分页。
(我理解分页应该属于表现层)
不管几层架构。都是再运用面向对象时,积累起来的好的模式。
没必要生套,理解面向对象开发就好
------解决方案--------------------我的理解和sohocat() 差不多。
1层(显示层)--发送请求/反回请求,我感觉,数据绑定之类的应算做第1层
2层(业务逻辑层)--主要是要实现的业务功能,比如一个方法,一个处理function
3层(数据访问层)--主要是处理2层的数据库访问(输入/输出)
------解决方案--------------------就你说的这个例子而言,第二层就是空的。可以省略的。
分页涉及到三个层,UI层要绘制“上一页”、“下一页”这一类的标志,还要加上相应的连接(或者事件);逻辑层就是要分数据了,可以考虑个算法(就是弄一个SQL语句或是存储过程),也可以在内存里分页(这个就是DataGrid自带的分页了);访问层嘛,没有他怎么取数据呀。