黑马程序员技术交流社区

标题: C#类工厂 [打印本页]

作者: 刘秋菊    时间: 2012-7-18 06:52
标题: C#类工厂
有人了解C#类工厂吗?C#类工厂含义及用法举例,期待高手来解答
作者: 许庭洲    时间: 2012-7-18 08:08
1,简单工厂模式,当我们创建了一个父类(或接口类)时,又创建了很多的子类来继承它。这时,我们对这些子类进行实例化,就需要一个一个的new,当我们创建的实例越来越多的时候,就需要new出不同的类型,我们不断要new出实例,还要考虑对象的类型,并且原来的实例需要改变的时候,就会触及到很多的改动。这时简单工厂模式该派上用场了;
2,抽象工厂模式,简单工厂模式对于单一,数量有限的产品时是很有效的,当我们的产品数量很多,并且有不同的品种的时候,这时简单工厂模式就不适合了,就需要工厂方法,或抽象工厂。这时抽象工厂模式该派上用场了;
3,举例:
public   interface Product{}
public class Product1 implements Product     //产品1继承接口Product
{
         public void getMessage()
         {
                System.out.println("I am Product1");
          }
}
public class Product2 implements Product     //产品2继承接口Product
{
         public void getMessage()
         {
                System.out.println("I am Product2");
          }
}
public class Factory   //Factory类工厂
{//简单工厂模式实际上就是工厂类根据不同参数,来对不同的产品进行实例化
         public Product getProduct(int i)
          {
                 if (i==1)
                   {
                          return new Product1();
                    }
                 if (i==2)
                    {
                           return new Product2();
                      }
           }
}
作者: 曾玉锋    时间: 2012-7-18 10:30
许庭洲 发表于 2012-7-18 08:08
1,简单工厂模式,当我们创建了一个父类(或接口类)时,又创建了很多的子类来继承它。这时,我们对这些子 ...

类工厂的作用就是根据用户的需要(参数)来需要的类型实例

说直白一点就是class1,class2....实现了Interface1 ,但是用户根据不同需要,需要得到不同类型
最简单的方法就是定义一个factory类 。在class factory里面定义一个方法返回 所实现的Interface1类型
然后在进行转换成需要的类型

不知道这样理解对不对?

作者: 许庭洲    时间: 2012-7-18 10:57
曾玉锋 发表于 2012-7-18 10:30
类工厂的作用就是根据用户的需要(参数)来需要的类型实例

说直白一点就是class1,class2....实现了Inter ...

还行!见解独特。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2