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


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 面试题
10条PHP编程习惯
May 26 面试题
JNI的定义
Nov 25 面试题
Java的五个基础面试题
Feb 26 面试题
C和C++经典笔试题附答案解析
Aug 18 面试题
编写类String 的构造函数、析构函数和赋值函数
Sep 09 面试题
.net软件工程师应聘上机试题
Mar 10 面试题
在C#中如何实现多态
Jul 02 面试题
Linux的文件类型
Mar 07 面试题
remote接口和home接口主要作用
May 15 面试题
Ajxa常见问题都有哪些
Mar 26 面试题
两道JAVA笔试题
Sep 14 面试题
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
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
2019/10/21 PHP
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
js实现弹窗居中的简单实例
2016/10/09 Javascript
JS重载实现方法分析
2016/12/16 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
Angular17之Angular自定义指令详解
2018/01/21 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
解决layui动态加载复选框无法选中的问题
2019/09/20 Javascript
借助云开发实现小程序短信验证码的发送
2020/01/06 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
vue实现简单计算商品价格
2020/09/14 Javascript
[02:34]DOTA2英雄基础教程 幽鬼
2014/01/02 DOTA
浅析Python编写函数装饰器
2016/03/18 Python
Python Socket编程详细介绍
2017/03/23 Python
Python中对象的引用与复制代码示例
2017/12/04 Python
Django之使用内置函数和celery发邮件的方法示例
2019/09/16 Python
Django中的模型类设计及展示示例详解
2020/05/29 Python
使用openCV去除文字中乱入的线条实例
2020/06/02 Python
Python使用20行代码实现微信聊天机器人
2020/06/05 Python
Python实现异步IO的示例
2020/11/05 Python
python3访问字典里的值实例方法
2020/11/18 Python
使用phonegap获取位置信息的实现方法
2017/03/31 HTML / CSS
Baby Tulai澳大利亚:美国婴儿背带品牌
2018/10/15 全球购物
英语系毕业生自荐信
2013/10/31 职场文书
八年级物理教学反思
2014/01/19 职场文书
幼儿园教师国培感言
2014/02/02 职场文书
厉行勤俭节约倡议书
2014/05/16 职场文书
职业规划实施方案
2014/06/10 职场文书
会计电算化实训报告
2014/11/04 职场文书
团支部书记竞选稿
2015/11/21 职场文书
班主任寄语2016
2015/12/04 职场文书
幼师必备:幼儿园期末教师评语50条
2019/11/01 职场文书
mysql 联合索引生效的条件及索引失效的条件
2021/11/20 MySQL