2019年/11月/16日

首页回退

dubbo设计原则

一个被广泛使用的服务化框架,作者梁飞好像生一个孩子一样创造它,可贵的是,他承认了实现代码里面还有很多的不完美:

坏味道

文章链接

提取部分精华

分离可靠操作和不可靠操作
异常防御,但不忽略异常
提高代码的可测性

API 与 SPI 分离
在重要的过程上设置拦截接口
重要的状态的变更发送事件并留出监听接口
扩展接口职责尽可能单一,具有可组合性
微核插件式,平等对待第三方
不要控制外部对象的生命周期
可配置一定可编程,并保持友好的 CoC 约定
区分命令与查询,明确前置条件与后置条件
增量式扩展,而不要扩充原始核心概念
配置一致性

资源是有限的,CPU、内存、IO 等等。不要因为外部的请求、数据不受限的而崩溃


线程池(ExectorService)的大小和饱和策略
微核心,插件式,平等对待第三方
每个扩展点只封装一个变化因子,最大化复用
全管道式设计,框架自身逻辑,均使用截面拦截实现
最少概念,一致性概念模型
分层,组合式扩展,而不是泛化式扩展

总结

从任何一个靠谱的设计书籍或者优秀框架上,你可能都会接触到这些词,比如:

可靠

可测试

防御

核心抽象

可组合

一致性概念

最少

资源管理

希望我们每一个程序员职业生涯都能有所创造