大咖助阵|大明:抽象,抽象,还是抽象
大明
该思维导图由 AI 生成,仅供参考
你好,我是大明。
之前我在极客时间的毛剑老师的 Go 进阶训练营里,为基础不太好的同学开了一个小课,主要是通过讲如何设计一个 Web 框架来带领学员一起巩固 Go 基础,侧重点在 Go 语法上,没有深入讨论设计本身以及设计理念。
但是,教会如何用一个框架是个很简单的问题,教会如何做抽象才是一个很难、但很有价值的问题。所以今天我想借这篇加餐的机会,围绕 Web 框架的设计,来分享一下我平时在做设计和落地时对抽象的一些体会。
在开始讨论之前,我们要先搞清楚一个问题:为什么抽象那么重要?
因为我认为,程序是人对现实世界的抽象的形式化描述。它包含两层含义:第一个含义是要先建立对现实世界抽象;第二个是能够将这个抽象落地为代码,也就是设计。因此,抽象是设计的前提。
通俗点就是,如果你不能正确认识问题,怎么奢求自己能够正确解决问题呢?所以,我们先稍微讨论一下 Web 框架,看看它背后对应的问题。
Web 框架
Web 框架要解决的问题是什么?处理 HTTP 请求。进一步细想,我们会想到具体如何处理请求,但这不是 Web 框架的事情,而是用户的事情。比如说用户登录的请求,Web 框架肯定是不知道如何处理的。
所以我们能够认识到,Web 框架主要负责:接收请求、找到用户处理逻辑调用一下、再把响应写回去。也就是三件事:接受请求、分发请求、写回响应。如果用伪代码来描述就是:
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了抽象设计在技术开发中的重要性和方法。作者以Web框架设计为例,强调了抽象的关键作用,并介绍了构建抽象和识别变更点的方法。通过实际案例,文章详细介绍了设计接口和接入实现的方式,以及如何识别变更点并构建抽象。作者提出了自顶向下的设计方式,并探讨了如何适应变更的方法。此外,文章还讨论了接口的质量对设计的影响,以及接入机制的设计难点。总的来说,本文通过深入浅出的方式阐述了抽象设计的重要性和方法,对于技术人员在设计和开发过程中具有一定的借鉴意义。文章内容涵盖了技术设计的实际问题和解决方法,对读者快速了解抽象设计的重要性和方法具有一定的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《手把手带你写一个 Web 框架》,新⼈⾸单¥59
《手把手带你写一个 Web 框架》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- Casin最近刚好在设计系统,学习了
作者回复: 感谢
2022-07-14归属地:北京 - Vincent高屋建瓴,对于抽象的价值与过程,又加深了2021-11-243
收起评论