创建型模式。隔离类对象的使用者和具体类型之前耦合关系。
FactoryMethod解决”单个对象”的需求变化;
AbstractFactory解决”系列对象”的需求变化;
Builder解决”对象部分”的需求变化
抽象动物
动物抽象类
12345public abstract class Animal{public abstract void SayHi();public abstract void Run();}动物工厂抽象
1234public abstract class FactoryAnimal{public abstract Animal CreateAnimal();}
动物狗实现类
狗类
1234567891011public class Dog:Animal{public override void SayHi(){Console.WriteLine("hi,i am dog");}public override void Run(){Console.WriteLine("dog,dog,running...");}}狗工厂类
1234567public class FactoryDog:FactoryAnimal{public override Animal CreateAnimal{return new Dog();}}
动物猫实现类
猫类
1234567891011public class Cat:Animal{public override void SayHi(){Console.WriteLine("hi,i am cat");}public override void Run(){Console.WriteLine("cat,cat,running...");}}猫工厂类
1234567public class FactoryCat:FactoryAnimal{public override Animal CreateAnimal{return new Cat();}}
客户端使用
|
|