using
System;
using System.Collections.Generic;
using System.Text;
namespace SharpDevelop设计模式.类库
{
/// <summary>
/// factory 模式从若干个可能类创建对象,例如.如果正在处理一个接口,
/// 那么可以使用factory来创建一个实现接口的对象,factory可以返回给我们的实现
/// 在需要从终端产品抽象化对象创建时,(例如 在构造函数不够合适的情况下)
/// factory非常有用
/// </summary>
public interface IHelloPrinter
{
void PrintHello();
}
public class EnglishHelloPrinter : IHelloPrinter
{
public void PrintHello()
{
System.Console.WriteLine( " Hello World " );
}
}
public class ChineseHelloPrinter : IHelloPrinter
{
public void PrintHello()
{
System.Console.WriteLine( " 世界,你好 " );
}
}
public class HelloFactory
{
public IHelloPrinter CreateHelloPrinter( string language)
{
switch (language)
{
case " cn " :
return new ChineseHelloPrinter();
case " en " :
return new EnglishHelloPrinter();
}
return null ;
}
}
}
using System.Collections.Generic;
using System.Text;
namespace SharpDevelop设计模式.类库
{
/// <summary>
/// factory 模式从若干个可能类创建对象,例如.如果正在处理一个接口,
/// 那么可以使用factory来创建一个实现接口的对象,factory可以返回给我们的实现
/// 在需要从终端产品抽象化对象创建时,(例如 在构造函数不够合适的情况下)
/// factory非常有用
/// </summary>
public interface IHelloPrinter
{
void PrintHello();
}
public class EnglishHelloPrinter : IHelloPrinter
{
public void PrintHello()
{
System.Console.WriteLine( " Hello World " );
}
}
public class ChineseHelloPrinter : IHelloPrinter
{
public void PrintHello()
{
System.Console.WriteLine( " 世界,你好 " );
}
}
public class HelloFactory
{
public IHelloPrinter CreateHelloPrinter( string language)
{
switch (language)
{
case " cn " :
return new ChineseHelloPrinter();
case " en " :
return new EnglishHelloPrinter();
}
return null ;
}
}
}