什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?


Posted in 面试题 onMarch 14, 2012
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
答案:
(1) Presentation layer(表示层)
(1) 表示逻辑(生成界面代码)
(2) 接收请求
(3) 处理业务层抛出的异常
(4) 负责规则验证(数据格式,数据非空等)
(5) 流程控制
(2) Service layer(服务层/业务层)
(1) 封装业务逻辑处理,并且对外暴露接口
(2) 负责事务,安全等服务
(3) Persistence layer(持久层)
(1) 封装数据访问的逻辑,暴露接口
(2) 提供方便的数据访问的方案(查询语言,API,映射机制等)
Domain layer(域层)
(1) 业务对象以及业务关系的表示
(2) 处理简单的业务逻辑
(3) 域层的对象可以穿越表示层,业务层,持久层
软件分层结构使得代码维护非常方便,设计明确,各层独立,专注自己擅长的领域。

Tags in this post...

面试题 相关文章推荐
Yahoo的PHP面试题
May 26 面试题
super()与this()的区别
Jan 17 面试题
怎样创建、运行java程序
Aug 01 面试题
一份Java笔试题
Feb 21 面试题
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
Apr 28 面试题
写一个在SQL Server创建表的SQL语句
Mar 10 面试题
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
Jan 13 面试题
盛大笔试题
Nov 05 面试题
介绍一下linux的文件系统
Mar 20 面试题
介绍一下Make? 为什么使用make
Jul 31 面试题
JAVA程序员面试题
Oct 03 面试题
万户网络JAVA程序员岗位招聘笔试试卷
Jan 08 面试题
Ibatis如何使用动态表名
Jul 12 #面试题
得到Class的三个过程是什么
Aug 10 #面试题
Ibatis中如何提高SQL Map的性能
May 11 #面试题
什么是类的返射机制
Feb 06 #面试题
Ibatis如何调用存储过程
May 15 #面试题
JAVA的事件委托机制和垃圾回收机制
Sep 07 #面试题
Java的for语句中break, continue和return的区别
Dec 19 #面试题
You might like
php 三维饼图的实现代码
2008/09/28 PHP
php 常用算法和时间复杂度
2013/07/01 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
node.js中module.exports与exports用法上的区别
2016/09/02 Javascript
bootstrap table复杂操作代码
2016/11/01 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
2017/02/20 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
微信小程序签到功能
2018/10/31 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
jquery图片预览插件实现方法详解
2019/07/18 jQuery
微信小程序如何加载数据库真实数据的实现
2020/03/04 Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
2021/01/22 Vue.js
[44:15]国士无双DOTA2 6.82版本详解(上)
2014/09/28 DOTA
Python基于TCP实现会聊天的小机器人功能示例
2018/04/09 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
2018/06/04 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
python中字符串数组逆序排列方法总结
2019/06/23 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
Python Websocket服务端通信的使用示例
2020/02/25 Python
详解Python GUI编程之PyQt5入门到实战
2020/12/10 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
亚洲颇具影响力的男性在线购物零售商:His
2019/11/24 全球购物
杭州时比特电子有限公司SQL
2013/08/22 面试题
上海微创软件面试题
2012/06/14 面试题
实践单位评语
2014/04/26 职场文书
本科毕业生自荐信
2014/06/02 职场文书
教师政风行风自查自纠报告
2014/10/21 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书
经典《舰娘》游改全新动画预告 预定11月开播
2022/04/01 日漫