[学习笔记]设计模式之Factory Method】的更多相关文章

写在前面 为方便读者,本文已添加至索引: 设计模式 魔法手札索引 在上篇笔记Abstract Factory设计模式中,时の魔导士创建了一系列的FoodFactory,并教会了其中一名霍比特人theCook如何去createFood.于是,白雪公主和7个小霍比特人终于能填饱肚子了.但是,美丽的童话世界中一定有着危险潜伏.这时,我们需要有一名霍比特人勇敢地站出来守护善良的公主和她的小伙伴们.很好,就让我们叫他theWarrior,一位武器大师:精通匕首.剑.弓.魔杖甚至AK47…….正因如此,我们…
  工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中.核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品.这个例子更详细的内容及说明可以参考原作者博客:cbf4life.cnblogs.com.贴代码了. 5.1.解释 main(),女娲 IHuman,产品接口 CYellowHuman,产品之一 CWhiteHuman,产品之二…
写在前面 为方便读者,本文已添加至索引: 设计模式 学习笔记索引 在上篇笔记Builder设计模式中,时の魔导士祭出了自己的WorldCreator.尽管它因此能创造出一个有山有树有房子的世界,但是白雪公主的生活似乎并不太快乐.啊,她当然需要填饱肚子.“来点可口的意式甜点,还是独特的法式面包呢?”魔导士心想.顺便说一下,白雪公主是德国人.“那就德式烤肠怎么样?……总之,我们需要点食品加工厂~尝尝来自世界各地的美味吧!” 来自不同地域的食品加工厂各自有着独特的工艺水平,生产出来的食物口感味道上都各…
写在前面 为方便读者,本文已添加至索引: 设计模式 学习笔记索引 “魔镜啊魔镜,谁是这个世界上最美丽的人?”月光中,一个低沉的声音回荡在女王的卧室.“是美丽的白雪公主,她正和小霍比特人们幸福快乐地生活在森林之中.”魔镜答道.“可恶!我才应该是最美的人,我要除掉你,白雪公主!”女巫开始用她的水晶球施展起诡异的妖术. 原本安宁的森林最近特别的闹腾,动物们个个都焦躁不安.小霍比特人之一的theWoodcutter(樵夫)在去伐木的路上发现了一头野熊的尸体.这头庞然大物的伤口上除了血淋淋的爪痕,竟然混杂…
写在前面 为方便读者,本文已添加至索引: 设计模式 学习笔记索引 在笔记Builder模式中,我们曾见到了最初用于创建平行世界的函数createWorld,并且它是Mage类的成员函数(毕竟是专属于魔导士的强大咒语嘛).然而在上篇笔记Singleton模式中,时の魔导士组建了一个极为强大的WorldMgr议会来代替他维持世界.“如果他们甚至连改造地形的能力都没有的话,会让人很苦恼呢……”魔导士心想,“或许我可以给他们提供一套地图编辑器……或者说世界改造器,就像暴雪那帮家伙的星际争霸.”对于如何设…
为方便读者,本文已添加至索引: 设计模式 学习笔记索引 写在前面 最近时间比较紧,所以发文的速度相对较慢了.但是看到园子里有很多朋友对设计模式感兴趣,我感觉很高兴,能够和大家一起学习这些知识. 之前的文章中,我们已经介绍了对象创建型和对象结构型的设计模式(请参见索引).从本篇开始,我们将接触的是对象行为型设计模式.所谓行为模式涉及到算法和对象间职责的分配.在对象和类的模式之外,还涉及了它们之间的通信模式.比如我们今次的主题:Chain of Responsibility(职责链)模式,它就描述了…
写在前面 为方便读者,本文已添加至索引: 设计模式 魔法手札索引 在前几篇笔记中,我们有了解了部分对象创建型模式,包括Builder(建造者).Abstract Factory(抽象工厂)和Factory Method(工厂方法),今天我们要接触到的是另一种对象创建型模式,既简单又重要的:Singleton(单例)模式. 对一些类来说,只有一个实例是很重要的.比如说,一个软件系统中,应该只有一个窗口管理器:通信设备中,每张板卡上唯一的端口管理器:一个数字滤波器只能有一个A/D转换器.此外,这些唯…
写在前面 为方便读者,本文已添加至索引: 设计模式 学习笔记索引 Facade(外观)模式定义了一个高层接口,它能为子系统中的一组接口提供一个一致的界面,从而使得这一子系统更加容易使用.欢迎回到时の魔导士的魔法世界.在对战坏女巫的魔法生物一役中(见Bridge模式笔记),白雪公主获得大逆转胜利机会的关键是附魔武器的诞生.但是,普通的武器工坊(见FactoryMethod模式笔记)生产不了附魔武器,只能是通过特殊的附魔工坊获得.经过这一战之后,大家也觉得除了武器,还需要能保护身体的护甲来抵挡伤害.…
写在前面 为方便读者,本文已添加至索引: 设计模式 学习笔记索引 作为一个新入职的魔导士呢,哦不,是程序员,我以为并没有太多机会去设计项目的软件架构.但是,工作一段时间之后,自己渐渐意识到,哪怕是自己要去做的小feature,也是需要去好好设计.我就应该做好它的架构师.看过一些牛人的文章后,总算意识到自己应该好好学习下设计模式.尽管并不是为了把设计模式作为教条式的方案套用到现实的工作中去,起码我也要做到心中有佛吧,...是心中有数,再在日后工作中积累经验,达到融汇贯通的境地.设计模式是前人总结出…
写在前面 为方便读者,本文已添加至索引: 设计模式 学习笔记索引 Adapter(适配器)模式主要解决接口不匹配的问题.为此,让我们要回到最初Builder模式创建平行世界时,白雪公主和小霍比特人的谜之相遇.在这个世界里,我们暂时有见到两个种族Human和Hobbit.种族不同所产生的最大区别是什么?当然个头是一部分,也仅仅是一部分而已.毕竟Human里也有怎么长都才那么高的吧:P.这里要说的区别是:他们的语言不通.是的,白雪公主一开始根本就听不懂小霍比特人在说什么. 在这个平行世界中,所有的H…