20. 设计模式
2015年6月27日 · 2:11:50
本期《内核恐慌》中,主持人吴涛和Rio首先解释了节目下载串台故障的成因:国内运营商(如长城宽带)的透明缓存系统仅以域名和文件名作为缓存标识,忽略路径,导致不同节目的同名文件被混用。随后吴涛透露,受Apple Watch SDK限制,其用莫尔斯码发送信息的手表应用设想难以实现,因为无法检测按键长短。节目还念读了三封长篇读者来信:第一封讨论TDD与重构的价值,第二封由形式化验证(Formal Verification)专业博士生撰写,对比了测试与形式化验证的优劣,并介绍了sel4和CompCert等项目;第三封来自一位TDD践行者,强调重构在TDD中的关键作用。主题部分,两人回顾了设计模式的起源(源自建筑学《建筑的永恒之道》),阐述了其核心原则“面向接口编程”和“组合优于继承”,并指出许多模式是语言局限的补偿(如C#的delegate/event代替Observer模式)。最后讨论了反模式(God Object、Golden Hammer、Silver Bullet),并引用了GoF作者15年后的反思访谈。