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


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面试题
Apr 14 面试题
普通PHP程序员笔试题
Jan 01 面试题
如何写出高性能的JSP和Servlet
Jan 22 面试题
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
Feb 06 面试题
实现strstr功能,即在父串中寻找子串首次出现的位置
Aug 05 面试题
什么是Assembly(程序集)
Sep 14 面试题
Internet主要有哪些网络群组成
Dec 24 面试题
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
Dec 12 面试题
世界经理人咨询有限公司面试
Sep 23 面试题
Linux管理员面试经常问道的相关命令
Dec 12 面试题
EJB实例的生命周期
Oct 28 面试题
介绍一下如何优化MySql
Dec 20 面试题
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获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
PHP生成图片验证码、点击切换实例
2014/06/25 PHP
php中使用url传递数组的方法
2015/02/11 PHP
php生成静态html页面的方法(2种方法)
2015/09/14 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
Laravel 5.2 文档 数据库 ―― 起步介绍
2019/10/21 PHP
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
jQuery checkbox全选/取消全选实现代码
2009/11/14 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
每天一篇javascript学习小结(属性定义方法)
2015/11/19 Javascript
【经典源码收藏】基于jQuery的项目常见函数封装集合
2016/06/07 Javascript
JS日程管理插件FullCalendar中文说明文档
2017/02/06 Javascript
JavaScript基本类型值-Number类型
2017/02/24 Javascript
switchery按钮的使用方法
2017/12/18 Javascript
jQuery实现checkbox全选功能完整实例
2018/07/12 jQuery
vue 项目中使用Loading组件的示例代码
2018/08/31 Javascript
js图片查看器插件用法示例
2019/06/22 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
[00:32]2018DOTA2亚洲邀请赛EG出场
2018/04/03 DOTA
python原始套接字编程示例分享
2014/02/21 Python
python读取word文档,插入mysql数据库的示例代码
2018/11/07 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
django有外键关系的两张表如何相互查找
2020/02/10 Python
浅析matlab中imadjust函数
2020/02/27 Python
教育孩子心得体会
2014/01/01 职场文书
财务部绩效考核方案
2014/05/04 职场文书
2014法制宣传日活动总结
2014/07/09 职场文书
成本会计实训报告
2014/11/05 职场文书
工程服务质量承诺书
2015/04/29 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
uni-app 微信小程序授权登录的实现步骤
2022/02/18 Javascript
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android