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


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

面试题 相关文章推荐
Yahoo-PHP面试题1
Jul 20 面试题
Java的接口和C++的虚类的相同和不同处
Mar 27 面试题
什么是serialVersionUID
Mar 04 面试题
华为C++笔试题
Aug 05 面试题
下面关于"联合"的题目的输出是什么
Aug 06 面试题
介绍一下OSI七层模型
Jul 03 面试题
描述RIP和OSPF区别以及特点
Jan 17 面试题
Linux管理员面试题 Linux admin interview questions
Jul 08 面试题
软件测试工程师笔试题带答案
Mar 27 面试题
网友共享的几个面试题关于Java和Unix等方面的
Sep 08 面试题
Java面试题:Java类的Main方法如果是Private将会怎么样
Aug 18 面试题
什么是servlet
May 08 面试题
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
回首过去10年中最搞笑的10部动漫,哪一部让你节操尽碎?
2020/03/03 日漫
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
Laravel实现用户注册和登录
2015/01/23 PHP
thinkPHP5分页功能实现方法分析
2017/10/25 PHP
checkbox 多选框 联动实现代码
2008/10/22 Javascript
js中if语句的几种优化代码写法
2011/03/12 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
原生JS和jQuery版实现文件上传功能
2016/04/18 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
2016/05/17 Javascript
JavaScript必知必会(六) delete in instanceof
2016/06/08 Javascript
Javascript中的神器——Promise
2017/02/08 Javascript
jQuery实现的简单动态添加、删除表格功能示例
2017/09/21 jQuery
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
vue.js实现的绑定class操作示例
2018/07/06 Javascript
vue+animation实现翻页动画
2020/06/29 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
python抓取网页时字符集转换问题处理方案分享
2014/06/19 Python
Python 探针的实现原理
2016/04/23 Python
对于Python中RawString的理解介绍
2016/07/07 Python
Python生成密码库功能示例
2017/05/23 Python
python实现多进程代码示例
2018/10/31 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
python程序输出无内容的解决方式
2020/04/09 Python
社区居务公开实施方案
2014/03/27 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
绘画专业自荐信
2014/07/04 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
2014年物资管理工作总结
2014/12/02 职场文书
西游记读书笔记
2015/06/25 职场文书
关爱空巢老人感想
2015/08/11 职场文书
python 三边测量定位的实现代码
2021/04/22 Python
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
2022/02/12 MySQL