简单工厂模式(simple Factory Pattern)

来源:互联网 发布:无锡淘金网络待遇 编辑:程序博客网 时间:2024/06/04 18:09

 

 

vs2005+C#+.net 2.0

 

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

namespace SFP
{
    
public abstract class EFT
    
{
        
public abstract void processs();
    }


    
public class VirtualCheck : EFT
    
{
        
public override void processs()
        
{
            Console.WriteLine(
"VirtualCheck is processing!");
        }

    }


    
public class MasterCard:EFT
    
{
        
public override void processs()
        
{
            Console.WriteLine(
"MasterCard is processing!");
        }

    }


    
public class EFTFactory
    
{
        
public EFT createEFT(string type)
        
{
            
switch (type.ToLower())
            
{
                
case "virtualcheck":
                    
return new VirtualCheck();
                
case "mastercard":
                    
return new MasterCard();
                
default:
                    
return null;
            }

        }

    }

    
    
class Client
    
{
        
static void Main(string[] args)
        
{
            EFT eft;
            EFTFactory eftFactory 
= new EFTFactory();
            eft 
= eftFactory.createEFT("VirtualCheck");
            eft.processs();
            eft 
= eftFactory.createEFT("MasterCard");
            eft.processs();
            Console.ReadLine();
        }

    }

}