程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#設計模式之建造者設計模式(Builder)(4)

C#設計模式之建造者設計模式(Builder)(4)

編輯:關於C語言

六、建造者模式的演化

建造者模式在使用的過程中可以演化出多種形式。

省略抽象建造者角色

如果系統中只需要一個具體建造者的話,可以省略掉抽象建造者。這時代碼可能如下:

// "Director"
class Director
{
 private ConcreteBuilder builder;
 // Methods
 public void Construct()
 {
  builder.BuildPartA();
  builder.BuildPartB();
 }
}

省略指導者角色

在具體建造者只有一個的情況下,如果抽象建造者角色已經被省略掉,那麼還可以省略掉指導者角色。讓Builder角色自己扮演指導者與建造者雙重角色。這時代碼可能如下:

public class Builder
{
 private Product product = new Product();
 public void BuildPartA()
 {
  //Some code here
 }
 public void BuildPartB()
 {
  //Some code here
 }
 public Product GetResult()
 {
  return product;
 }
 public void Construct()
 {
  BuildPartA();
  BuildPartB();
 }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved