A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘秋菊 中级黑马   /  2012-7-18 06:52  /  1832 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有人了解C#类工厂吗?C#类工厂含义及用法举例,期待高手来解答

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

3 个回复

倒序浏览
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();
                      }
           }
}

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
许庭洲 发表于 2012-7-18 08:08
1,简单工厂模式,当我们创建了一个父类(或接口类)时,又创建了很多的子类来继承它。这时,我们对这些子 ...

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

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

不知道这样理解对不对?

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
曾玉锋 发表于 2012-7-18 10:30
类工厂的作用就是根据用户的需要(参数)来需要的类型实例

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

还行!见解独特。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马