下载此文档

设计模式-简单工厂(simple facotry)、工厂方法(actory method)、抽象工厂(abstract factory).docx


文档分类:行业资料 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
设计模式学习之简单工厂(simple facotry)、工厂方法(actory method)、抽象工厂(abstract factory)
(Simple Factory)
GOF没有把简单工厂作为设计模式之一列出。但是为了学习后面的两种工厂模式,还是先来了解一下简单工厂。
作用:专门由一个类来决定实例化哪个产品类
实现要点:可能很多人平时都不知不觉地使用了简单工厂。简单工厂就是把决定实例化哪个类的方法放到一个单独的类(所谓的工厂类)里。
UML:
代码:
abstract class Product
{
public abstract void showProduct();
}
class ProductA : Product
{
public override void showProduct()
{
("this is productA");
}
}
class ProductB : Product
{
public override void showProduct()
{
("this is productB");
}
}
//factory
class Factory
{
public Product getProduct(int type)
{
if (type == 0)
{
return new ProductA();
}
else
{
return new ProductB();
}
}
}
//---------------执行-----------------
class Program
{
static void Main(string[] args)
{
Factory f = new Factory();
Product p1 = (0);
Product p2 = (1);
();
();
();
}
}
 
(Factory Method)
作用:工厂方法是简单工厂的“再抽象”,不在某个类里直接决定实例化哪个产品类,而是把这个决定延迟到它的子类里面。(至于为什么要抽象出父类,参见之前的文章“父类引用指向子类对象”)。
实现要点:抽象工厂类,由其子类决定实例化哪个产品类。
UML:
代码:
abstract class Product
{
public abstract void showProduct();
}
class ProductA : Product
{
public override void showProduct()
{
("this is productA");
}
}
class ProductB : Product
{
public override void showProduc

设计模式-简单工厂(simple facotry)、工厂方法(actory method)、抽象工厂(abstract factory) 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小150 KB
  • 时间2017-11-19