学习了Dubbo的设计,包括做出dubbo过程中总结的设计原则,作为服务治理框架它在可配置、健壮性、防痴呆错误操作、扩展性方面的设计。在兼容性方面,dubbo也参考了HTML5的设计原理,作为WEB重要的内容,HTML5的设计至关重要。
API和SPI分开要我们在实际项目中分离开平台给第三方调用的API和要第三方扩展实现的SPI的实现,目前大部分项目都会有API,放webservice或api包下,很少用到SPI机制来要求第三方扩展实现,一般都是WebService或RESTful接口形式。
在重要过程上设置拦截器是扩展过程功能、监控系统这行过程的常用方法。拦截器是干预过程的,是过程的一部分,基于过程行为, 而事件是基于状态数据,重要的状态变更要发送事件并留出监听接口。
框架一般都是微内核插件模式,扩展接口职责尽可能单一。Eclipse的内核是OSGI、Spring的内核是BeanFactory,Maven的核心是Plexus。通常核心就是一个生命周期和集成器。
HTML5设计原理要学习的地方,避免不必要的复杂性,保持兼容支持已有的内容,解决实际问题。博斯塔尔法则,严于利己,宽以待人,发送时保守,接受时宽容,这也是XHTML2失败,HTML5能流行的原因。
写作是为了思考,思考才能更好的写作。随笔写了很久,但总缺乏深入思考,反思要改变,不行动然并卵。
每天写点东西听起来很好,但不去认真要求自己坚持又要什么意义。
2018已过去一半,再坚持3月,如果仍尝试没有改变,仍感觉没意义就放弃。