【Python】工厂模式和建造者模式的区别

最近在看《精通Python设计模式(Mastering Python Design patterns)》,

刚刚看完建造者模式,由于和看完工厂模式隔的时间有点久,再加上两者本来就很像,有点分不清了。

所以,今天又看了看这两者,区分一下,加强下记忆,以便安心看后边的设计模式。

才疏学浅,有错误还请指正:

比较项目\模式名称 工厂模式 建造者模式
侧重点 简化对象创建 简化复杂过程、复杂顺序的对象的创建
对象创建的灵活度 预先定制,不灵活 预先定制较少,灵活度较高
实际例子 苹果电脑 组装电脑
相关代码和解析 factory_method.py builder_pattern.py

实际例子说明

比如,苹果电脑的生产,用哪种型号的CPU、多大的内存、多大的硬盘、什么操作系统等等,都定制好了,用户参与的灵活度极低。

而组装电脑的生产就灵活多了,哪种型号的CPU、多大的内存、多大的硬盘、什么型号的显卡、什么操作系统等等都可以自己说的算,灵活度较高。前者是工厂模式,后者是建造者模式。在建造者模式中,指挥者可以更多地参与建造的细节。

这里的对于电脑的“生产”一词可能不太妥当,不要过于纠结。本意在于说明两种建造模式的区别。

The end.

你可能感兴趣的:(desc,Python)