soul源码阅读(十七)三周源码学习的总结分享

目录

总结

如何读源码

看官方文档,了解项目

准备环境

运行它的示例

调试和阅读源码

博客分享

上手使用

应用

自定义插件的分享

websocket数据同步分享


总结

到今天第三周了,在此先做个简单的总结。回到一开始看自己学习的初衷,写着的是提升自己的coding能力,设计能力,让自己突破一个层级,不再只会简单的一些设计,ctrl+c,ctrl+v,让自己的代码更有灵魂的存在。

那么有进步了没?我认为是有的。首先最起码的是已经能够上手阅读一个源码模块,不再感觉那么慌张了。其次通过阅读源码,了解到一些好的设计思想,设计模式,尝试去动手自定义它,活学活用它,那么它就是对自己层次的突破。

如何读源码

看官方文档,了解项目

对于一个新的github项目源码,我们首先需要做的是去看官方文档,了解这个项目是干什么的,可以应用到什么场景。比如soul,打开它的官方网站:https://dromara.org/zh/projects/soul/overview/,我们就可以了解到soul介绍,团队介绍等。然后再了解下它的架构图,设计文档,使用文档,插件集合,数据同步等,一开始了解下项目主要结构即可,至于细节的东西看看留个印象即可。

准备环境

github下载代码,编译它。

运行它的示例

关于读源码,毕竟一个项目一口气通吃那是不太现实的事情,那么我们可以找准其中的一块来进行研究,比如soul的插件设计思想,那么我们就可以将目标缩小到这一小块来进行研究,然后再仔细阅读官网文档有关于这一块的文档,然后试着拿其中一两个插件来运行它的demo,查看结果。当然在这过程,我们可以配合网上再找一些其它资料来辅助你运行起来,比如我最开始就是看极简入门http://www.iocoder.cn/Soul/install/来运行demo的。

调试和阅读源码

有了环境后,那么读源码这件事情就变的更简单了,因为只要你想动,那么就是打一个断点,就可以看到结果的事情。此时通过断点调试跟踪,配合流程图或者脑图,再配合资料文档,也就明白了代码设计原理和实现逻辑了。

博客分享

我觉得学习源码后,进行博客分享真的是一个好习惯,因为阅读是一方面,能够把它分享出来是另一方面,它不仅能够加深对源码知识的了解,还能够以此来查缺补漏,记录自己的学习经验,加深自己的印象,大脑是很容易忘的,只有把它记录下来了,那么这个东西才持续存在。而且博客还有个好处,如果大家觉得你写的好,还能够提升自己的影响力。

上手使用

从学到用是一个过程,基于学的基础,我们还应该要通过上手用的方式把它给掌握起来,那么这个时候就可以对该模块的某个知识点自定义去写一些东西了,哪怕写一个demo或者去官网找一些issue改一改都能够更进一步加深对这一块的了解。

应用

这是我们的最终目标,也是真正校验我们是否对它已经能够活学活用,有自己的思考在里边了。比如:我们已经学了soul的插件链设计了,已经学了websocket的同步策略,zookeeper的同步策略等等,还包括我们学习了观察者的设计模式,抽象模板类的设计模式,还有soul很多stream等工具类的使用,响应式变成等等。那么我们可以在工作中怎样应用到他们?一个系统技术选型的时候是不是可以用到,设计的时候涉及数据同步的时候是不是可以用到,开发的过程中是不是可以到观察到设计模式,java 8的lambadab,stream流的写法,甚至我们是不是可以尝试响应式编程,让自己的代码逼格提升一个档次。如果成功的应用了,那么恭喜你,我们已经开始逐渐让自己的代码变的有灵魂了。

自定义插件的分享

从插件学习,到自定义插件,这其实就是处在上面提到的上手使用这一步了,可以soul源码阅读(十一)soul helloworld插件自定义,这个过程是非常有意义的,代表着我们最起码能够基本使用了。当然这个时候也是时候可以上github找找看看跟插件相关的issue有没有,可以找一个改改,恭喜你,还成为了soul贡献者了。

websocket数据同步分享

这一块分享可以分成两部分分享,一部分是soul源码阅读(十三)websocket admin同步,另一部分是soul源码阅读(十四)websocket bootstrap同步,admin作为数据的服务提供者,如何将数据给到网关。而网关作为数据的接收者,获取到数据后是如何进行处理的?可以参考以上两篇博客即可。这里本来想要分享的也是如何上手使用自定义自己的soul同步的,毕竟到使用这个成为自己的东西才离得更近些,但因为时间原因,所以我们之后的博客,再提供一个简单的自定义实现,模拟使用观察者的设计模式,admin端来进行数据的发送,然后网关实时监听来处理admin发来的消息。至于同步策略要用什么?我们再研究,实在没有合适的就用websocket和zookeeper一样的策略方式进行自定义即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值