分层领域模型规约:
• DO ( Data Object ):此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。
• DTO ( Data Transfer Object ):数据传输对象,Service 或 Manager 向外传输的对象。
• BO ( Business Object ):业务对象,可以由 Service 层输出的封装业务逻辑的对象。
• Query:数据查询对象,各层接收上层的查询请求。注意超过 2 个参数的查询封装,禁止使用 Map 类 来传输。
• VO ( View Object ):显示层对象,通常是 Web 向模板渲染引擎层传输的对象。
1
Kiske 2020-08-09 13:04:45 +08:00
需要反序列化的时候, They are like glasses: you’ll know when you need them.
|
2
wdlth 2020-08-09 13:10:28 +08:00
因为在平时大多数情况不使用 Java 自己的序列化,一般是使用 JSON, hessian, kyro 等适用性更广或者更快的方法。
|
3
optional 2020-08-09 13:49:29 +08:00 via iPhone
嗯,代码报错不得不序列化的时候。
|
4
reeco 2020-08-09 13:52:10 +08:00 via Android 2
这个对象需要网络传输的时候
|
5
CDuXZMAPgHp1q9ew 2020-08-09 14:03:06 +08:00
使用的序列化框架强制需要你实现的 Serializable 协议的时候.
|
6
aguesuka 2020-08-09 14:18:38 +08:00 via Android
1.需要兼容老接口.2.或者不得不 hack 的时候(SerializableLambda).3.需要易于编写但是难以维护的序列化功能时
|
7
chendy 2020-08-09 15:05:22 +08:00
目前的项目应该可以直接忘掉这个接口了
真的用不到 |
8
kawowa 2020-08-09 15:10:55 +08:00 via Android
最简单的例子,你想存进 redis 的时候。
|
9
cool4food 2020-08-09 17:58:53 +08:00
Java 自带的序列化接口只适用于 Java 进程之间的数据序列化 /反序列化,这就使得它的应用面比较窄,而且经过测试,Java 自带的 Serializable 性能也不好,所以目前基本上很少用
|
10
huntcool001 2020-08-09 19:04:21 +08:00
几乎什么时候都不需要.除非是兼容老的代码.
需要保存或者传输的时候用 Json 或者其他方式, Protobuf 一类的. Java 自带的序列化机制很垃圾, Oracle 设计 Java 语言的 chief architect 自己都说 Mark Reinhold, shared his thoughts about Java’s serialization mechanism which he called a “horrible mistake” and a virtually endless source of security vulnerabilities https://adtmag.com/articles/2018/05/30/java-serialization.aspx 而且以后会从 Java 语言里移除的. |
11
mio4 2020-08-09 19:35:28 +08:00
很简单,dubbo rpc 调用的时候
|
12
mightofcode 2020-08-09 19:50:10 +08:00
永远不要用
|
13
webshe11 2020-08-09 21:08:58 +08:00
需要制造反序列化漏洞的时候
|