起步
门面模式属于结构型,旨在定义一组高层接口让子系统更易用。
照《Learning Python Design Patterns, 2nd Edition.pdf》一书的说法就是:It delegates the client’s requests to the appropriate subsystem objects using composition。
这个模式太简单常见了,我都不知道怎么说起……
昨天在公司加班要处理这样一组数据:
{"村": "李村", "症状": "血糖", "姓名": "小李1"}
{"村": "李村", "症状": "血糖", "姓名": "小李2"}
{"村": "李村", "症状": "体量", "姓名": "小李3"}
{"村": "李村", "症状": "空腹", "姓名": "小李4"}
...
{"村": "刘村", "症状": "体量", "姓名": "小刘1"}
{"村": "刘村", "症状": "血糖", "姓名": "小刘2"}
{"村": "刘村", "症状": "空腹", "姓名": "小刘3"}
...
{"村": "王村", "症状": "空腹", "姓名": "小王1"}
{"村": "王村", "症状": "血糖", "姓名": "小王2"}
{"村": "王村", "症状": "体量", "姓名": "小王3"}
...当时的需求是,统计出每个村每种症状的人数。数据是放在一个列表中一起返回的。
在去年五月份的时候,新浪免费图床做了防盗链机制,羊毛就不能褥了。个人博客不挂图片忍忍也就过去,但在某些时候还是不便。后来我采用 docker 镜像 + 开源图床系统 lychee-docker 的方式,在自己的阿里服务器上搭建了一个简易图床。时移近一年,使用起来没有什么不对劲的地方。但当时我知道的东西还是太少,做了许多不规范的操作,现在想弥补。
我基于前文(当新浪防盗链时,我在想些什么?)在虚拟机里还原了过往操作,并将在此基础上弥补之前的不足。其用意是:倘若你不幸参看我写的教程部署了图床系统,那么我带你入坑的,我负责把你带出来。