最近大部分时间阅读的文章记录到知识星球上了, 以下为汇总的部分内容.
代码即文档的观点是错误的,清晰的代码只是文档的某个片段,而不是全部
代码的深度调用,模块层面上的依赖关系网,业务场景逻辑,非功能性需求等问题是需要相应的文档来完整地呈现的
可扩展性的本质是找到系统的变化点,并隔离变化点 世间众多设计模式其实就是一种设计模式即隔离变化点的模式
设计文档的作用是明确需求、理顺逻辑、后期维护,次要目的用于指导编码。避免为了设计而设计,系统设计文档有助于后期的系统维护和重构,所以设计结果需要进行分类归档保存
通常布隆过滤器是不支持删除的,如果要加的话,在value上增加计数,这样底层就不能使用位图方式了
关于缓存使用设计模式的思考
Buffer fileReader = new FileReaderBuffer("/xxx/xxx.csv");new Cache(new fileReader);
装饰器模式调用方可以直接选择是否使用cache装饰数据流对象
代理模式在不改变原始类接口的条件下,为原始类定义一个代理类,主要目的是控制访问,而非加强功能,这是它跟装饰器模式最大的不同