免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

Python設計模式之建造者模式的示例分析-創新互聯

這篇文章將為大家詳細講解有關Python設計模式之建造者模式的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創新互聯專注于魯甸網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供魯甸營銷型網站建設,魯甸網站制作、魯甸網頁設計、魯甸網站官網定制、微信小程序定制開發服務,打造魯甸網絡公司原創品牌,更為您提供魯甸網站排名全網營銷落地服務。

具體如下:

建造者模式(Builder Pattern):將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示

下面是一個建造者模式的demo

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'Andy'
"""
大話設計模式
設計模式——建造者模式
建造者模式(Builder):將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以常見不同的表示
特性: 指揮者(Director) 指揮 建造者(Builder) 建造 Product
"""
import abc
class Builder(object):
  __metaclass__ = abc.ABCMeta
  @abc.abstractmethod
  def create_header(self):
    pass
  @abc.abstractmethod
  def create_body(self):
    pass
  @abc.abstractmethod
  def create_hand(self):
    pass
  @abc.abstractmethod
  def create_foot(self):
    pass
class Thin(Builder):
  def create_header(self):
    print '瘦子的頭'
  def create_body(self):
    print '瘦子的身體'
  def create_hand(self):
    print '瘦子的手'
  def create_foot(self):
    print '瘦子的腳'
class Fat(Builder):
  def create_header(self):
    print '胖子的頭'
  def create_body(self):
    print '胖子的身體'
  def create_hand(self):
    print '胖子的手'
  def create_foot(self):
    print '胖子的腳'
class Director(object):
  def __init__(self, person):
    self.person = person
  def create_preson(self):
    self.person.create_header()
    self.person.create_body()
    self.person.create_hand()
    self.person.create_foot()
if __name__=="__main__":
  thin = Thin()
  fat = Fat()
  director_thin = Director(thin)
  director_fat = Director(fat)
  director_thin.create_preson()
  director_fat.create_preson()

運行結果:

瘦子的頭
瘦子的身體
瘦子的手
瘦子的腳
胖子的頭
胖子的身體
胖子的手
胖子的腳

上面類的設計如下圖:

Python設計模式之建造者模式的示例分析

指揮者Director 調用建造者Builder的對象 具體的建造過程是在Builder的子類中實現的

關于“Python設計模式之建造者模式的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

文章標題:Python設計模式之建造者模式的示例分析-創新互聯
轉載來于:http://m.newbst.com/article10/dchhdo.html

成都網站建設公司_創新互聯,為您提供App開發面包屑導航企業建站定制開發網站改版網頁設計公司

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設