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


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...

面试题 相关文章推荐
可以在一个PHP文件里面include另外一个PHP文件两次吗
May 22 面试题
PHP经典面试题
Sep 03 面试题
阿尔卡特(中国)的面试题目
Aug 20 面试题
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
Feb 22 面试题
北京SQL新华信咨询
Sep 30 面试题
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
Apr 28 面试题
使用索引有什么好处
Jul 27 面试题
网络安全类面试题
Aug 01 面试题
编写一个类体现构造,公有,私有方法,静态,私有变量
Aug 10 面试题
用Python写一个for循环的例子
Jul 19 面试题
什么时候用assert
May 08 面试题
国外的一些J2EE面试题一
Oct 13 面试题
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
thinkPHP3.2.3实现阿里大于短信验证的方法
2018/06/06 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
Javascript 中的类和闭包
2010/01/08 Javascript
一款js和css代码压缩工具[附JAVA环境配置方法]
2010/04/16 Javascript
jquery实用代码片段集合
2010/08/12 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
2011/05/07 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
2013/05/19 Javascript
JavaScript中的undefined学习总结
2013/11/30 Javascript
用Jquery.load载入页面实现局部刷新
2014/01/22 Javascript
Array 重排序方法和操作方法的简单实例
2014/01/24 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
js事件委托和事件代理案例分享
2017/07/25 Javascript
JavaScript中如何判断一个值的类型
2017/09/15 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
js中DOM事件绑定分析
2018/03/18 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
关于微信小程序map组件z-index的层级问题分析
2019/07/09 Javascript
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
[15:35]教你分分钟做大人:天怒法师
2014/10/30 DOTA
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
python+selenium实现京东自动登录及秒杀功能
2017/11/18 Python
Python数据拟合与广义线性回归算法学习
2017/12/22 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
最小二乘法及其python实现详解
2020/02/24 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
2020/02/26 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
GLAMGLOW香港官网:明星出镜前的秘密武器
2017/03/16 全球购物
经典优秀个人求职自荐信格式
2013/09/25 职场文书
学生自我鉴定模板
2013/12/30 职场文书
机电一体化专业毕业生自荐信
2014/06/19 职场文书
运动会加油稿100字
2014/09/19 职场文书
2016年教师学习廉政准则心得体会
2016/01/20 职场文书