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();
}
}
}