java名词解释 抽象,java名词解释
DAO在计算机软件中,数据访问对象(data access object,DAO)是为某种类型的数据库或其他持久性机制提供一个抽象接口的对象。通过映射应用程序对持久层的调用,DAO 提供一些特定的数据操作,而无需暴露数据库细节。这种隔离支持单一功能原则。它分离了应用程序需要访问哪些数据,就域特定对象和数据类型(DAO 的公共接口),而言,这些需求可以用数据库管理系统(DBMS)、数据库模式等满足(DAO 的实现)。
POJO & JavaBean
POJO
使用 POJO 名称是为了避免和 EJB 混淆起来, 而且简称比较直接. 其中有一些属性及其 getter setter 方法的类,没有业务逻辑,有时可以作为 VO(value -object)或 dto(Data Transform Object)来使用.
当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有 connection 之类的方法。
下面是摘自 Martin Fowler 个人网站的一句话:
“We wondered why people were so against using regular objects in their systems and concluded that it was because simple objects lacked a fancy name. So we gave them one, and it’s caught on very nicely.”--Martin Fowler
我们疑惑为什么人们不喜欢在他们的系统中使用普通的对象,我们得到的结论是——普通的对象缺少一个响亮的名字,因此我们给它们起了一个,并且取得了很好的效果。——Martin Fowler
1
2
3
4
5
6
7
8分层领域模型规约
DO(Data Object):此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。
DTO(Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对象。
BO(Business Object):业务对象,由 Service 层输出的封装业务逻辑的对象。
AO(Application Object):应用对象,在 Web 层与 Service 层之间抽象的复用对象模型,极为贴近展示层,复用度不高。
VO(View Object):显示层对象,通常是 Web 向模板渲染引擎层传输的对象。
Query:数据查询对象,各层接收上层的查询请求。注意超过 2 个参数的查询封装,禁止使用 Map 类来传输。
// 阿里巴巴Java开发手册1.4.0.pdf
JavaBean
JavaBeans 是 Java 中一种特殊的类,可以将多个对象封装到一个对象(bean)中。特点是可序列化,提供无参构造器,提供 getter 方法和 setter 方法访问对象的属性。名称中的“Bean”是用于 Java 的可重用软件组件的惯用叫法。
Java Bean 是可复用的组件,对 Java Bean 并没有严格的规范,理论上讲,任何一个 Java 类都可以是一个 Bean 。
但通常情况下,由于 Java Bean 是被容器所创建(如 Tomcat) 的,所以 Java Bean 应具有一个无参的构造器,另外,通常 Java Bean 还要实现 Serializable 接口用于实现 Bean 的持久性。 Java Bean 是不能被跨进程访问的。JavaBean 是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被拿去用,这个扳子也提供多种功能(你可以拿这个扳子扳、锤、撬等等),而这个扳子就是一个组件。
java名词解释 抽象,java名词解释相关推荐
- java 抽象接口类,Java接口(interface)和Java抽象类(abstract class)的区别(详诉版)
1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架, 当代表业务逻辑的高层抽象层结构合理时,你底层的具体实现需要考虑的就仅仅是一些算法 ...
- Java依赖于抽象不依赖于具体,依赖倒置原则(Dependecy-Inversion Principle)
依赖倒置原则(Dependence Inversion Principle,DIP)的原始定义: 高层模块不应该依赖底层模块,两者都应该依赖其抽象: 抽象不应该依赖细节: 细节应该依赖抽象. 抽象:即 ...
- 谈谈你对java的理解,java是“解释执行”这句话对吗?
谈谈你对java的理解,java是"解释执行"这句话对吗? 先科普下什么是"解释执行"? 什么是"编译执行"? • 解释执行 解释执行时高级 ...
- 半编译半解释的Java语言和C++、Python等语言的区别
1. 引言 我们编写的代码需要按照某些组织制定的规范,对于程序员来说,能够轻松理解:但是对于计算机来说,它们根本无法理解我们编写的代码,只能识别二进制指令. 2. 编译型语言(如C++)和解释型语言( ...
- 请解释一下Java多线程回调是什么意思?
请解释一下Java多线程回调是什么意思? 所谓回调,就是客户端程序c调用服务端程序s中的某个方法A,然后s又在某个时候反过来调用c中的某个方法B,对于c而言,这个B就叫做回调方法.
- 解释java程序所使用的命令是,Java程序的执行原理以及解释说明
在初学Java的时候,我们安装完Java的开发环境后,就可以通过记事本等编辑工具编写程序了.推荐在Windows操作系统中使用EditPlus工具进行编写.由于我使用的是Mac OS,所以,我使用Su ...
- java反射通俗解释,谁来帮用通俗易懂的语言解释下java的反射机制
谁来帮用通俗易懂的语言解释下java的反射机制以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 谁来帮用通俗易懂的语言解释 ...
- 【JVM源码解析】模板解释器解释执行Java字节码指令(上)
本文由HeapDump性能社区首席讲师鸠摩(马智)授权整理发布 第17章-x86-64寄存器 不同的CPU都能够解释的机器语言的体系称为指令集架构(ISA,Instruction Set Archit ...
- 【Java】博客系统——详细解释+代码+详细注释(课设必过)
目录 前言 博客系统简要分析 一.数据库的设计 1.1 分析 1.2 代码实现(创建数据库和表) 二.封装数据库(JDBC代码的编写) 2.1.首先通过创建Maven项目,基于Small Tomcat ...
最新文章
- 使用LaTeX排版如何方便地引用多篇参考文献(不使用插件)
- Dijkstra算法的思想和数学归纳法
- MM中如何更改物料的评估类
- 万能的Seq2Seq:基于Seq2Seq的阅读理解问答
- 折纸机器人的步骤图解_折纸图解走路的人
- php 接口怎么响应,Stripe PHP API方法响应的结构是什么?
- mysql不对称复制数据_mysql UNION all 实现不对称数据统计
- 25% 的开发者认为 Rust 是最佳替代,最新 Go 开发者调查报告出炉
- python 基础及资料汇总
- BABOK - 需求分析(Requirements Analysis)概述
- springAOP(Aspect)权限访问页面
- typescript是像java吗_typescript参照C#/java/swift学习小结
- 0xC00000FD: Stack overflow
- autoit3 学习
- C# Excel 操作
- 网易云课堂[Web安全工程师]第一部分 第二章WEB简介 学习记录
- Android让屏幕保持常亮,不熄屏的三种方法
- java中的String、StringBuffer和StringBuilder的详细分析
- 16届智能车竞赛单车拉力国二经验分享
- java毕业设计二手图书回收销售网站Mybatis+系统+数据库+调试部署