diff --git a/protocol/README.md b/protocol/README.md index 88d05719..adf014f9 100644 --- a/protocol/README.md +++ b/protocol/README.md @@ -99,7 +99,7 @@ cpu: i9900k - 为了防止代码里Object满天飞,避免协议层和po层混用对象造成一些潜在的并发问题,zfoo强制要求协议类必须实现IPacket接口 ``` -现在IPacket的接口只是一个标识接口,继承IPacket的设计主要是为了让代码容易理解一点,改为只继承Object也并没有很大工作量 +现在IPacket的接口只是一个标识接口,继承IPacket的设计主要是为了让代码更优雅,容易理解一点,改为只继承Object也并没有很大工作量 继承IPacket的设计还有跨语言层面上的考虑,极大的简化了实现其它语言的序列化和反序列化难度,统一了其它语言的代码实现 ``` diff --git a/protocol/src/main/java/com/zfoo/protocol/IPacket.java b/protocol/src/main/java/com/zfoo/protocol/IPacket.java index 194d999d..292e8889 100644 --- a/protocol/src/main/java/com/zfoo/protocol/IPacket.java +++ b/protocol/src/main/java/com/zfoo/protocol/IPacket.java @@ -14,7 +14,12 @@ package com.zfoo.protocol; /** - * 所有协议类都必须实现这个接口 + * 所有协议类都必须实现这个接口,协议类必须是简单的javabean,不能继承任何其它的类,但是可以继承接口 + *

+ * 为了防止代码里Object满天飞,避免协议层和po层混用对象造成一些潜在的并发问题,zfoo强制要求协议类必须实现IPacket接口 + *

+ * 现在IPacket的接口只是一个标识接口,继承IPacket的设计主要是为了让代码更优雅,容易理解一点,改为只继承Object也并没有很大工作量 + * 继承IPacket的设计还有跨语言层面上的考虑,极大的简化了实现其它语言的序列化和反序列化难度,统一了其它语言的代码实现 * * @author godotg * @version 3.0 @@ -22,11 +27,9 @@ package com.zfoo.protocol; public interface IPacket { /** - * 这个类的协议号 + * 这个类的协议号,重写这个方法,使用多态获取协议号,可以微弱的提高一点性能 *

* 子类可以不用重写这个方法,也能够通过反射自动获取到PROTOCOL_ID这个协议号,序列化一次对象只会调用一次,性能损失很小 - *

- * 重写这个方法,使用多态获取协议号,可以提高一点性能 * * @return 协议号Id */