转载

作为一个 Java AIO 框架,API 可以怎样设计?

作为一个 Java AIO 框架,API 可以怎样设计?

惯例开场白

smart-socket是一款国产开源的Java AIO框架,追求代码量、性能、稳定性、接口设计各方面都达到极致。如果smart-socket对您有一丝帮助,请Star一下我们的项目并持续关注;如果您对smart-socket并不满意,那请多一些耐心,smart-socket一直在努力变得更好。

正文

作为市面上为数不多几款Java AIO框架之一,smart-socket一直以来都在精心打磨自身。并坚定以成为最优质的国产AIO框架为目标,聚焦通信框架微内核化的研发。以致于当用户过来询问smart-socket是否支持心跳?是否支持集群?是否支持断链重连?等等...,只能对其答复“smart-socket是个纯粹的通信框架,涉及到具体协议或某种业务场景,需要由用户自行开发,不过smart-socket已设计好了支撑此类需求开发的接口”。

“smart-socket是一个纯粹的通信框架”,这一份执着只为能够在早期打下坚实的基础,让smart-socket未来能走的更远,也许现阶段我们会失去一部分用户。前段时间smart-socket已发布了1.3.10版本,之后基本不会再有大的调整,近期主要投入官网的设计开发与文档的完善(PS:待码云的Pages功能支持docs部署方式再投放,@红薯 别跳票了 作为一个 Java AIO 框架,API 可以怎样设计? )。

以前在给smart-socket做宣传推广的时候,都是已其极少的代码量作为亮点来吸引用户。毕竟看完不到600行的代码也用不了几分钟,有需求的朋友应该没理由拒绝(现在代码量已突破800行)。那今后smart-socket要换一种方式了,需要的朋友可以先看看我们API,觉得合适再来深入接触一下。

作为一个 Java AIO 框架,API 可以怎样设计?

上图就是smart-socket API的全部,2个包、3个类、3个接口(Filter为可选项)、1个枚举。 并且用户在进行通信开发时,真正要做的事仅仅是实现2两个接口:Protocol(协议编解码 )、MessageProcessor(消息业务处理)

至于AioQuickClient、AioQuickServer、AIOSession、StateMachineEnum则是smart-socket封装的AIO功能实现,用户只需遵照API启动Server/Client服务即可,有意者可 点击这里 了解一下。

最后,中意该项目的朋友请到 https://gitee.com/smartboot/smart-socket 点个赞(Star)!

原文  https://www.oschina.net/news/96353/how-to-design-a-aio-api
正文到此结束
Loading...