1.假设类不可变,就设为final 。方法入參引用不可变也设为final。防止兴许代码误改。
2.设计时。能够方便扩展而不用修核心代码。
如,设计一个远程调用框架,这时能够通过拦截器链来实现扩展功能。
项目中有一个job定时器业务。服务端负责生成job定时任务。client会有机子负责接收运行。server和client通过http来通信。
这时设计中,能够有一个统一拦截器入口,然后是一个调用链。
核心功能是运行job任务请求的对应类。而其他如參数校验,安全认证等功能能够通过添加一个拦截器到拦截器链中来实现。
3.能够用随机等待来降低,rpc服务中同一时刻大量client重连注冊中心