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


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

面试题 相关文章推荐
Java基础知识面试要点
Jul 29 面试题
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
Mar 19 面试题
NULL是什么,它是怎么定义的
May 09 面试题
c++工程师面试问题
Aug 04 面试题
在SQL Server中创建数据库主要有那种方式
Sep 10 面试题
恶意软件的定义
Nov 12 面试题
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
Sep 07 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
Jul 24 面试题
什么是组件架构
May 15 面试题
Java的类可以定义为Protected或者Private得吗
Sep 25 面试题
西安夏日科技有限公司Java笔试题
Jan 11 面试题
一套Delphi的笔试题一
Feb 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正则表达式之定界符和原子介绍
2012/10/05 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
Opacity.js
2007/01/22 Javascript
JavaScript 一行代码,轻松搞定浮动快捷留言-V2升级版
2010/04/02 Javascript
JS 事件绑定函数代码
2010/04/28 Javascript
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
JavaScript中的逻辑判断符&&、||与!介绍
2014/12/31 Javascript
js中获取时间new Date()的全面介绍
2016/06/20 Javascript
省市选择的简单实现(基于zepto.js)
2016/06/21 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
2016/08/29 Javascript
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
Javascript实现从小到大的数组转换成二叉搜索树
2017/06/13 Javascript
详解Angular-ui-BootStrap组件的解释以及使用
2018/07/13 Javascript
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
python多线程http下载实现示例
2013/12/30 Python
Python中多线程及程序锁浅析
2015/01/21 Python
使用Python进行二进制文件读写的简单方法(推荐)
2016/09/12 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
2017/11/15 Python
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
使用Python 正则匹配两个特定字符之间的字符方法
2018/12/24 Python
Python 把序列转换为元组的函数tuple方法
2019/06/27 Python
keras模型保存为tensorflow的二进制模型方式
2020/05/25 Python
浅析Python中字符串的intern机制
2020/10/03 Python
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
学习决心书
2014/03/11 职场文书
热门专业求职信
2014/05/24 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
滞留工资返还协议书
2014/10/19 职场文书
幼儿园百日安全活动总结
2015/05/07 职场文书
主题班会开场白
2015/06/01 职场文书
中国梦宣传标语口号
2015/12/26 职场文书
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
浅谈Python类的单继承相关知识
2021/05/12 Python
instantclient客户端 连接oracle数据库
2022/04/26 Oracle