Spiga

工厂模型代码(备份)

2010-09-06 18:21 by 普若伽门, 46 visits, 收藏, 编辑
using System;
using System.Collections.Generic;

namespace Factory{
	public interface ExportFileApi{
		bool Export(string data);
	}
	
	public class ExportTxtFile : ExportFileApi{
		public bool Export(string data){
			Console.WriteLine("txt file:"+data);	
			return true;
		}	
	}	
	
	public class ExportDBFile : ExportFileApi{
		public bool Export(string data){
			Console.WriteLine("DB file:"+data);	
			return true;
		}	
	}
	
	public abstract class ExportOperate{
		public bool Export(string data){
			ExportFileApi api=FactoryMethod();
			return api.Export(data);
		}
		protected abstract ExportFileApi FactoryMethod();
	}
	
	public class ExportTxtOperate :ExportOperate{
		protected override ExportFileApi FactoryMethod(){
			return new ExportTxtFile();
		}
	}
	
	public class ExportDBOperate :ExportOperate{
		protected override ExportFileApi FactoryMethod(){
			return new ExportDBFile();
		}
	}	
	
	public class MyClass
	
	{
		public static void Main()
		{
			ExportOperate operate=new ExportDBOperate();
			operate.Export("测试数据");
			Console.ReadLine();				
		}	
	}
}
■ 拿起勇气,探索你未知的世界。