Factory Method模式

Factory Method(工厂方法)模式属于GoF设计模式中的创建型分组,它用于在不之制定待创建对象的具体类的情况下创建对象。--《asp.net设计模式》

说白了就是一个人想要出国旅游,市面上有很多出国旅游信息并且很杂乱,于是他就是找旅行社,旅行社问他要了旅游标准并顺利的出国旅游了。Factory Method模式就相当于旅行社。

以下是我的代码

主界面

 1 class Program

 2     {

 3         static void Main(string[] args)

 4         {

 5             Console.WriteLine("please enter country code...");

 6             string code = Console.ReadLine();

 7             Console.WriteLine("please enter country name...");

 8             string name = Console.ReadLine();

 9             ILoca loca;

10             if (code=="1"&&name=="asia")

11             {

12                 loca=new Asia();

13                 Console.WriteLine(loca.Description(new Country{Code = code,Name =name }));

14             }

15             else if (code=="2"&&name=="euroqe")

16             {

17                 loca=new Europe();

18                 Console.WriteLine(loca.Description(new Country { Code = code, Name = name }));

19             }

20 

21             Console.ReadLine();

22         }

23     }

定义一个借口,用于扩展

1 public interface ILoca

2     {

3         string Description(Country country);

4     }

实现接口

1     public class Asia : ILoca

2     {

3         public string Description(Country country)

4         {

5             return "Asia";

6         }

7     }
1     public class Europe : ILoca

2     {

3         public string Description(Country country)

4         {

5             return "Euroqe";

6         }

7     }

用于持久化数据的实体类

1     public class Country

2     {

3         public string Code { get; set; }

4         public string Name { get; set; }

5         public Location Area { get; set; }

6     }
1     public class Location

2     {

3         public string LocationName { get; set; }

4     }

个人理解比较浅显,还请不吝赐教!

 

你可能感兴趣的:(factory)