zoukankan      html  css  js  c++  java
  • 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     }

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

  • 相关阅读:
    学习笔记65—学位和学历区别
    学习笔记64—兴趣阅读之文学
    学习笔记63—兴趣阅读之法律
    学习笔记62—兴趣阅读之管理学
    学习笔记61—兴趣阅读之经济学
    学习笔记60—SPSS
    学习笔记59—收藏这7个在线配色神器,再也不愁配色灵感了
    学习笔记58—3D杯子设计
    网络处理2-异步POST请求和同步请求
    网络处理1-异步GET请求
  • 原文地址:https://www.cnblogs.com/tony312ws/p/3532576.html
Copyright © 2011-2022 走看看