本节书摘来异步社区《贝叶斯思维:统计建模的Python学习法》一书中的第2章,第2.7节,作者:【美】Allen B. Downey,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.7 讨论
本章介绍了Suite类,它封装了贝叶斯update框架。
Suite是一个抽象类(abstract type),这意味着它定义了Suite应该有的接口,但并不提供完整的实现。Suite接口包括Update和Likelihood方法,但只提供了Update的实现,而没有Likelihood的实现。
具体类(concrerte type)是继承自抽象父类的类,而且提供了缺失方法的实现。例如,Monty扩展自Suite,所以它继承了Update并且实现了Likelihood。
如果你熟悉设计模式,你可能会意识到这其实是设计模式中模板方法的一个例子。
大多数在以下章节中的例子遵循相同的模式,对于每个问题我们定义一个扩展的Suite对象,继承了Update方法,并提供了Likelihood。在少数情况下,会重写Update方法,通常是为了提高性能的缘故。