简单工厂模式

工厂模式是为了在不同的情况下创建不同的对象而设计的模式.

专门定义一个类来创建其他类的实例,被创建的实例通常都具有共同的父类.

简单工厂涉及到三个参与者他们分别是:

     1.工厂角色Creator:工厂类可以被外界直接调用,创建所需的产品对象

     2.抽象产品角色Product:工厂里生产的所有对象的父类,他负责描述所有实例共有的公共接口.

     3.具体产品角色Concrete Product :工厂的生产目标,所有创建的对象都是充当这个角色的某个具体类的实例

图我就不画了,写个例子吧.

using System
namespace EFT
{
      
//抽象产品角色
      abstract class god
      
{
        
public abstract void process();
      }

      
//具体产品角色1
      class god_man:god
      
{
        
public override void process()
        
{
           Console.WriteLine(
"上帝正在创造男人");
        }
 
      }

      
//具体产品角色2
      class god_woman:god
      
{
        
public override void process()
        
{
           Console.WriteLine(
"上帝正在创造女人");
        }

      }

      
//工厂角色
      class god_dad
      
{
        
public god create_human(string type)
        
{
           
switch(type.ToLower())
           
{
              
case "man":
                
return new god_man();
              
case "woman":
                
return new god_woman();
              
default:
                
return null;
           }

        }

      }

      
//下面我们看看我们的工厂
      class Client
      
{
        
static void Main(string[] args)
        
{
            god MyGod;
            god_dad MyGodDad 
= new god_dad();
            MyGod 
= MyGodDad.create_human("man");
            MyGod.process();
            MyGod 
= MyGodDad.create_human("woman");
            MyGod.process();
            Console.Read();
        }

      }

}


仔细看看,相信你能看懂的

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liulun

如果文章真帮到了你,谢谢您打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值