我是靠谱客的博主 心灵美香氛,最近开发中收集的这篇文章主要介绍Python设计模式--建造者模式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

说明

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。我们想要创建一个由多个部分构成的对象,而且它的构成需要一步接一步地完成。
只有当各个部分都创建好,这个对象才算是完整的。这正是建造者设计模式(Builder design
pattern)的用武之地。建造者模式将一个复杂对象的构造过程与其表现分离,这样,同一个构造
过程可用于创建多个不同的表现。

一般实现

抽象

class Builder(object):
"""基类"""
def Part1(self):
# 不同类型的产品,该步骤的细节可能不同
raise NotImplementedError()
def Part2(self):
# 不同类型的产品,该步骤的细节可能不同
raise NotImplementedError()
class Builder1(Builder):
"""派生类,生产builder1类型的产品"""
def Part1(self):
print 'builder1 Part1'
def Part2(self):
print 'builder1 Part2'
class Builder2(Builder):
"""派生类,生产builder2类型的产品"""
def Part1(self):
print 'builder2 Part1'
def Part2(self):
print 'builder2 Part2'
class Director(object):
"""指挥者,负责组织产品的构建过程"""
def Build(self, builder):
builder.Part1()
builder.Part2()
def client():
director = Director()
director.Build(Builder1())
director.Build(Builder2())

应用场景

  • 某类产品的构建由很多复杂组件组成;
  • 这些组件中的某些细节不同,构建出的产品表象会略有不同;
  • 通过一个指挥者按照产品的创建步骤来一步步执行产品的创建;
  • 当需要创建不同的产品时,只需要派生一个具体的建造者,重写相应的组件构建方法即可。

参考资料:

精通Python设计模式
–例子来源于网络

最后

以上就是心灵美香氛为你收集整理的Python设计模式--建造者模式的全部内容,希望文章能够帮你解决Python设计模式--建造者模式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部