虽然现在博客园上关于设计模式的文章已经有很多,但还是写一篇来凑下热闹,也算是对自己多这几种模式得使用总结。

Factory Pattern 工厂模式和 Builder Patter 建造者模式都是通过定义接口来将类的定义和实现区分开来。下面一步一步来做说明

 

1. Simple Factory 简单工厂

 简单工厂只是将类简单抽象化,以Pizza为例,我们定义好Pizza的接口,实现继承Pizza的类PizzaA和PizzaB,然后简单工厂提供方法根据传进来的参数类型确定像调用者返回PizzaA或者PizzaB的实例

 

    public interface Pizza
    {
        
void DoPizza();
    }

    
public class PizzaA : Pizza
    {
        
public void DoPizza()
        {
            Console.WriteLine(
"pizza A");
        }
    }

    
public class PizzaB : Pizza
    {
        
public void DoPizza()
        {
            Console.WriteLine(
"pizza B");
        }
    }
   
public static class SimplePizzaFacotry
    {
        
public static Pizza Create(string type)
        {
            
if (type == "PizzaA")
                
return new PizzaA();
            
else
                
return new PizzaB();
        }
    }

    
// Usage
    public class SimplePizzaFacotryOrder
    {
        
public void OrderPizza()
        {
            Pizza pizza 
= SimplePizzaFacotry.Create("PizzaA");
            pizza.DoPizza();
        }
    }

相关文章: