您的位置:首页 > 编程语言 > C#

C#设计模式系列:简单工厂模式(Simple Factory)

2014-08-02 22:36 881 查看

1. 简单工厂模式简介

1.1 定义

  简单工厂模式定义一个Factory类,可以根据参数的不同返回不同类的实例,被创建的实例通常有共同的父类。

  简单工厂模式只需要一个Factory类。

  简单工厂模式又称为静态工厂模式,Factory类为静态类或包含静态方法。

1.2 使用频率

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DesignPatterns.SimpleFactoryPattern.Practical
{
public class OrderService
{
public bool CreateOrder(string bank)
{
decimal money=100m;
var payment = PaymentFactory.CreatePayment(bank);

return payment.Payfor(money);
}
}
}


View Code
  在OrderService类中,不依赖具体的支付类,只通过PaymentFactory来获取真正的支付类。

5. 简单工厂模式应用分析

5.1 简单工厂模式优点

  ◊ 实现了创建和使用分离;

  ◊ Client无需知道所创建的ConcreteProduct类名,只需要知道ConcreteProduct所对应的参数。

5.2 简单工厂模式缺点

  ◊ Factory类集中了所有ConcreteProduct的创建逻辑,职责过重。一旦需要添加新的ConcreteProduct,则需要修改Factory逻辑。这样违背了OCP(开放-关闭原则)。

  ◊ 由于使用了static方法,造成Factory无法形成基于继承的结构。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: