晚上好,我们的今天离不开祖辈的辛辛付出,心中悼念,以今日之拼搏,承他们的愿望,愿生活一切安好,快乐幸福,和睦互助。
1,记前几日的偏离航线,内心波动不已,难以压抑,因此今天的功夫便也没有做多深,只草草花了一上午,惭愧。
2,记上次开发,对整体实现代码的反思,发现很多在设计上的不足,模仿现有rpc框架的设计分层,也同样为了三层,但实际上并没有理解这样做的好处和意义,从而引起对软件设计的方式的思考,我们是怎么设计软件的。
3,开始从初始需求出发,从产品定义出发,从一句话描述软件功能开始,“调用远程服务像调用本地方法一样”,围绕这个功能需求,不断的加入场景,和细节,开始从新划分客户端和服务端的分层问题。
4,重新思考了调用方式的问题。新加入了阻塞,非阻塞的通信模式,延时,定时循环调用等任务调度模式的思考,并顺着延时,异步的调度方式,开始考虑是否在异步的情况下设置回调函数。
5,理解soa和rpc的区别,远程服务调度和远程方法调用,在整体概念下的类似和不同,主要在于服务和方法的视角不一样,是两种理解远程调用的方式,从而引起从认识论上发生的不同。
6,为了友好的面向客户端的开发,准备在@标签中传入一些控制参数,用来确定通信方式,任务执行方式,以及回调函数等信息,但研究个小时左右,发现装饰器模式根本不支持,此时头痛欲裂。
7,研究了一下global全局变量的特性,以及python模组多线程下的全局变量和方法存在资源共享的问题,即是可能存在不安全的线程问题。
8,从新设计整体过程,一种新的思维方式,链接模块应该作为底层技术支持工具,而不过分的参与太多的服务调度的设计,服务调度模块应该只关心服务而不关心上级本地方法或远程方法,上次的实现耦合性还是太高,特别是服务模块和链接模块。虽然从概念上是分开的,但在服务模块定义的功能确实和链接模块强相关了。
早点睡哈,相信未来会越来越好,加油,加油,加油。
网友评论