Guan 发布的文章

Template 模板模式


起步

模板模式全称应该是模板方法模式(Template method pattern),属于行为型。其利用继承关系,实现代码复用,同时确保子类扩展能力。

在这里我用 “子类扩展能力” 属于一家之言,主要想表达,模板模式在一定程度上限制了子类的扩展方法,或者说要求子类在预设的扩展点上进行功能扩展。


Bridge 桥接模式


起步

桥接模式属于结构型,其目的是将抽象和实现解耦,让它们可以独立变化。

这里“抽象”与“实现”都不是平常说的抽象类、子类等概念。用维基百科的原话就是:

The class itself can be thought of as the abstraction and what the class can do as the implementation.

(抽象)与类要做的事(实现)都在频繁变化时,桥接模式就有意义。


启动轻量级 Django


起步

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

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

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


Decorator 装饰器模式


起步

装饰器模式属于结构型,常用于运行中动态地为对象扩展功能。

装饰器主张以组合的方式为一个对象附加功能,避免继承引发子类数量庞大,而不便于维护的问题。


Adapter 适配器模式


起步

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

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