設計模式-03-生成器模式

生成器模式

概述

生成器模式將一個複雜對象的構建和它的表示分離,使得一樣的構建過程能夠建立不一樣的表示。生成器模式的主要功能是構建複雜的產品,並且是細化地、分步驟地構建產品,也就是說生成器模式重在一步一步解決構建複雜對象的問題。php

實現

使用文件的導出來實現生成器模式。文件的導出有普通文本和xml等文件格式。生成器做爲一個接口,不一樣的具體生成器具體實現接口的方法。還有一個指導者負責總體構建的算法部分,是相對不變的部分。git

總結與分析

生成器模式構建對象的過程是統一的、固定不變的,變化的部分放到生成器部分了,只要配置不一樣的生成器,那麼一樣的構建過程,就能構建出不一樣的產品來。生成器模式的重心在於分離構建方法和具體的構造實現,從而使得構建算法能夠重用。具體的構造實現能夠很方便地擴展和切換,從而能夠靈活地組合來構造出不一樣的產品對象。生成器模式跟模板方法模式很像,可是模板方法模式主要是用來定義算法的骨架,把算法中某些步驟延遲到子類中實現。生成器模式是用「指導者」來定義總體的構建算法,把算法中某些涉及到具體部件對象的建立和裝配的功能,委託給具體的生成器來實現。github

代碼實現:

生成器模式(php/go)算法

相關文章
相關標籤/搜索