pursuedream
成功=水平+业务+沟通+判断
工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中, 而简单工厂方法是直接创建子类。
当系统扩展需要添加新的产品对象时,仅仅需要添加一个具体对象以及一个具体工厂对象,原有工厂对象不需要进行任何修改,也不需要修改客户端,很好的符合了"开放-封闭"原则。而简单工厂模式在添加新产品对象后不得不修改工厂方法,扩展性不好。

    public abstract class Car
    {
      
public   abstract string Drive();
      
public   abstract string Stop();

    }

    
public class RedCar :Car
    {
        
public override string  Drive()
        {
            
return "RedCar is Drived";
        }

        
public override string Stop()
        {
            
return "RedCar is Stoped";
        }
    }

    
public class BlueCar :Car
    {
        
public override string Drive()
        {
            
            
return "BlueCar is Drived";
        }

        
public override string Stop()
        {
            
return "BlueCar is Stop";
        }

    }

    
//工厂类
    public abstract class CarCreate
    {
        
public abstract  Car CarFactory();
    }

    
//根据工厂的子类,在其子类中实例
    public class RedCarCreate :CarCreate
    {
        
public override Car CarFactory()
        {
             
return new RedCar();
        }
    }

  
//根据工厂的子类,在其子类中实例
    public class BlueCarCreate :CarCreate
    {
        
public override Car CarFactory()
        {
             
return new BlueCar();
        }
    }
那么调用
     CarCreate carFactory =new BlueCarCreate();
     Car car=carFactory.CarFactory();
     car.Drive();
     car.Stop();

posted on 2007-03-06 18:26  pursuedream  阅读(167)  评论(0)    收藏  举报