• 3.要撒了欢的干 工厂方法模式


           书接上回。

          上文书说到农民甲和农民乙有着各自不同的想法,一个种花生豆,一个种毛豆,而且都获得了大丰收。      

           接着说说工厂方法模式。

    ---------------------------------------------------------------------------------------------------------------------------

           先送上图例。   

           农民乙是个聪慧的人,他更有想法,他主动与多拉多种子公司(IFactory),建立了良好的战略合作伙伴关系。

           该种子公司实力雄厚,拥有花生分公司(PignutFactory)和毛豆分公司(SoybeanFactory)。

           好像物质上的富足也能带来精神上的愉悦吧,农民乙开始不满足于面朝黄土背朝天的小打小闹的个人生产,他心里盘算着要扩大生产,于是他成立了自己的小作坊,租赁了大块的土地,根据季节时令买入一些花生种和毛豆种,雇佣一些闲散工为他种豆。

           猪年快到了,农民乙请种子公司的专家来他的土地田做实地考察,专家得出结论,猪年种花生豆比较好。

           于是农民乙给多拉多种子公司打电话联系,该公司从花生分公司为农民乙引进了大量的花生种,种花生取得了好丰收。

           转眼间,鼠年也快到了,农民乙故伎重施,该年联系毛豆分公司种毛豆,也毅然决然的毫无悬念的取得了好丰收。

           农民乙请闪电把他的丰功伟绩记录下来,表示为……

        public abstract class Legume
    {
    public virtual string GetFruit()
    {
    return string.Empty;
    }

    }

    class Pignut : Legume
    {
    public override string GetFruit()
    {
    return "俺是农民乙,俺要扩大生产,多拉多种子公司你今年给我花生种子,我看今年这个成!";
    }
    }

    class Soybean : Legume
    {
    public override string GetFruit()
    {
    return "俺是农民乙,俺要扩大生产,多拉多种子公司你今年给我毛豆种子,我看今年这个成!";
    }
    }

    interface IFactory
    {
    Legume CreateLegume();
    }

    class PignutFactory : IFactory
    {
    public Legume CreateLegume()
    {
    return new Pignut();
    }
    }

    class SoybeanFactory : IFactory
    {
    public Legume CreateLegume()
    {
    return new Soybean();
    }
    }

    static void Main(string
    作者:LevinLee
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Eclipse IDE中Android项目打红叉的解决方法
    控件:PopupWindow 弹出窗口(基本操作)
    控件:AnalogClock与DigitalClock 时钟组件
    四大组件之一 BroadcastReceiver (拦截短信并屏蔽系统的Notification .)
    四大组件之一 文件存储_文本文件
    控件:Chronometer 计时器(定时震动)
    计算页面执行时间的两种方法
    URL解析的几种模式以及拟静态重定向问题
    SSH 文件上传错误:encountered 1 errors during the transfer终极解决方法:
    php过滤提交信息防注入
  • 原文地址:https://www.cnblogs.com/levinlee/p/2286567.html
Copyright © 2020-2023  润新知