Guan 发布的文章

启动轻量级 Django


起步

相比 fastapi、flask 等 http 框架,django 一直被 python 程序员认为“重”。“重”有很多理解方式,我至少认为它不是在指责 django 大而全——由于自己多才多艺而被嫌弃,django 岂不是很冤?!所以我理解的、普遍意义的“重”是:django 总要给我提供我不需要的东西

在我看来,django-admin startprojectdjango-admin startapp 绝对是万恶之源。命令末尾一回车,我需要的不需要的都来了,项目的目录结构也被死死钉住。所以长期以来我对 django 绝无任何好感。直到一次在推特上表达心声,有个大佬对我的言论充满鄙夷,一来二去的交锋,最后被他推荐去看《Lightweight Django》。

我一直以来认为用 django 写 demo 是挺烦人的,但《Lightweight Django》的作者却说:不用麻烦了。


Adapter 适配器模式


起步

适配器模式属于结构型,常分为类适配器对象适配器,负责将不兼容的接口转换为可兼容接口,让原本由于接口不兼容而不能一起工作的的类可以一起工作。

这实际上是一个很常见的设计模式,我们都在用,只是不知道有名字而已。


Proxy 代理模式


起步

代理模式属于结构型,允许在不改变被代理类代码的基础上,为被代理类添加附加功能。

代理模式出没在各种场景,比如:1. 简化复杂系统的使用;2. 隐藏被代理对象;3. 为远程服务提供本地调用接口;4. 为服务提供预处理;等等。


Facade 门面模式


起步

门面模式属于结构型,旨在定义一组高层接口让子系统更易用。

照《Learning Python Design Patterns, 2nd Edition.pdf》一书的说法就是:It delegates the client’s requests to the appropriate subsystem objects using composition

这个模式太简单常见了,我都不知道怎么说起……