我开始在Java中使用Lagom,并且需要编写一个自定义(反)序列化程序。我已经通读了这些文档,理解了NegotiatedSerializer、MessageSerializer、SerializerFactory等的角色。我不理解的是,在哪个包中定义类是规范的。我查看了Chirper示例,发现在各种*API模块中,除了*Service接口之外,通常还有具体的模型定义,但没有自定义序列化程序的示例。谢谢你的帮助!
发布于 2017-02-13 05:22:21
消息(请求体、响应体和发布到主题的消息)的序列化程序应该是服务的api模块的一部分。序列化程序既需要服务的客户端使用,也需要服务实现本身使用。这使得它们成为服务接口或API的一部分。
应该在每个服务的impl模块中定义持久化序列化程序(命令和回复、持久化事件、实体状态)。它们是内部实现的详细信息,不应公开给客户端。
除了这些广泛的指导方针之外,组织包结构的方式实际上取决于您。一些项目对API使用单个包,而对实现使用不同的包。其他人可能会将每个服务划分为子包,尽管由于服务通常应该保持相当小和专注,这可能是矫枉过正。您应该以对您的项目和组织有意义的方式排列这些包。
https://stackoverflow.com/questions/42170931
复制相似问题