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


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

面试题 相关文章推荐
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
Sep 11 面试题
写出二分查找算法的两种实现
May 13 面试题
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
May 18 面试题
酷瑞网络科技面试题
Mar 30 面试题
编程实现去掉XML的重复结点
May 28 面试题
Linux管理员面试经常问道的相关命令
Apr 29 面试题
斯福泰克软件测试面试题
Feb 16 面试题
长青弘远的面试题
Jun 09 面试题
JSP和EJB可以共享HttpSession么?EJB里面可以改变session里面的内容
Jun 05 面试题
EJB的基本架构
Sep 22 面试题
JDBC操作数据库的基本流程是什么
Oct 28 面试题
介绍一下javax.servlet.Servlet接口及其主要方法
Nov 30 面试题
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中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
学习php设计模式 php实现建造者模式
2015/12/07 PHP
js版本A*寻路算法
2006/12/22 Javascript
jQuery为iframe的body添加click事件的实现代码
2011/04/07 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
用javascript替换URL中的参数值示例代码
2014/01/27 Javascript
jQuery判断元素是否存在的可靠方法
2014/05/06 Javascript
IE中图片的onload事件无效问题和解决方法
2014/06/06 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
2016/05/10 Javascript
jQuery is not defined 错误原因与解决方法小结
2017/03/19 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
微信小程序内拖动图片实现移动、放大、旋转的方法
2018/09/04 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
web.py中调用文件夹内模板的方法
2014/08/26 Python
Python读取环境变量的方法和自定义类分享
2014/11/22 Python
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
python简单鼠标自动点击某区域的实例
2019/06/25 Python
python3 map函数和filter函数详解
2019/08/26 Python
Python爬虫headers处理及网络超时问题解决方案
2020/06/19 Python
python上selenium的弹框操作实现
2020/07/13 Python
基于Python实现简单学生管理系统
2020/07/24 Python
css3实现平移效果(transfrom:translate)的示例
2020/11/13 HTML / CSS
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
nohup的用法
2012/11/26 面试题
物理专业本科生自荐信
2014/01/30 职场文书
节能宣传周活动总结
2014/05/08 职场文书
公司承诺书格式
2014/05/21 职场文书
三八活动策划方案
2014/08/17 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
百万英镑观后感
2015/06/09 职场文书
蓝天保卫战收官在即 :15行业将开展环保分级评价
2019/07/19 职场文书
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python
postgresql如何找到表中重复数据的行并删除
2023/05/08 MySQL