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


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如何调用MYSQL存储过程
May 30 面试题
PHP解析URL是哪个函数?怎么用?
May 09 面试题
类的核心特性有哪些
Jan 01 面试题
使用索引有什么好处
Jul 27 面试题
StringBuilder和String的区别
May 18 面试题
C#的几个面试问题
May 22 面试题
Linux内核产生并发的原因
Jul 13 面试题
中科方德软件测试面试题
Apr 21 面试题
十一个高级MySql面试题
Oct 06 面试题
Static Nested Class 和 Inner Class的不同
Nov 28 面试题
UNIX操作系统结构由哪几部分组成
Feb 17 面试题
Promise面试题详解之控制并发
May 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
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证
2014/09/01 Javascript
用C/C++来实现 Node.js 的模块(一)
2014/09/24 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
完全深入学习Bootstrap表单
2016/11/28 Javascript
利用jquery实现下拉框的禁用与启用
2016/12/07 Javascript
jQuery基于正则表达式的表单验证功能示例
2017/01/21 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
2018/02/08 Javascript
vue ssr 指南详读
2018/06/29 Javascript
vue 1.0 结合animate.css定义动画效果
2018/07/11 Javascript
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
javascript中导出与导入实现模块化管理教程
2020/12/03 Javascript
Python 错误和异常小结
2013/10/09 Python
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
python从入门到精通(DAY 2)
2015/12/20 Python
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
2017/01/12 Python
django用户登录和注销的实现方法
2018/07/16 Python
python批量修改图片大小的方法
2018/07/24 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
python生成requirements.txt的两种方法
2019/09/18 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
ROSEFIELD手表荷兰官方网上商店:北欧极简设计女士腕表品牌
2018/01/24 全球购物
ALDO加拿大官网:加拿大女鞋品牌
2018/12/22 全球购物
c++工程师面试问题
2013/08/04 面试题
博士研究生自我鉴定范文
2013/12/04 职场文书
优秀少先队员主要事迹材料
2014/05/28 职场文书
副校长个人对照检查材料思想汇报
2014/10/04 职场文书
政风行风建设整改方案
2014/10/27 职场文书
优秀教师事迹材料
2014/12/15 职场文书
公司财务经理岗位职责
2015/04/08 职场文书
毕业论文致谢词
2015/05/14 职场文书
小学入学感言
2015/08/01 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS