这是我参与「第三届青训营 -后端场」笔记创作活动的第4篇笔记
在“HTTP框架修炼之道”这一课中,老师带大家从HTTP协议的发展与迭代后,讲到了HTTP框架的设计与实现在这一篇笔记里,我总结了老师关于HTTP框架的设计与实现的讲解。
首先介绍的是分层结构设计的思想
分层结构设计有三个好处:
- 专注性
每层只用专注于特定层的开发,使用底层提供的封装好的接口,而无需关心底层接口是如何实现的
- 扩展性
分层设计的代码易于修改,修改本层的接口实现的逻辑后维持修改名与接口使用方式不变,其他层的代码的代码就可以不做仍和修改继续使用该接口
- 复用性
减少工作量,将近似、重复的内容抽取出来,简化开发流程
使用分层设计的目标有三点:
-
高内聚、低耦合
-
易复用
-
高扩展性
使用分层设计的思想,利用接口的方法进行解耦、对上层抽象,可以使逻辑更加清晰,简化设计流程
这里介绍一个有关设计思想的盖尔定律
一个切实可行的复杂系统势必是从一个切实可行的简单系统发展而来的。从头开始设计的复杂系统根本不切实可行,无法修修补补让他切实可行,你必须设计一个切实简单可行的系统重新开始。
设计时,先从简单的逻辑入手,将大体的可行的框架先搭建起来,之后再在其基础上进行迭代改进,并且保证每一次迭代都是可用的。
应用层设计 针对引用层,最主要的就是要提供合理的API,这就需要代码满足以下几个特点:
- 可理解性
合理命名方法,让用户对他实现的功能一目了然
- 简单性
对高频方法进行封装,简化用户的使用流程
- 冗余性
避免方法重复
- 兼容性
能够给各种用户提供服务
- 可测性
可以测试并且方便测试
- 可见性
不要再文档中说明,很多用户不看文档,要让用户能够在使用过程中被合理的设计所引导