文章目录:
一、设计模式(c++)笔记之一(Factory Method工厂方法模式)
工厂方法模式的意义在于定义一个创建产品对象的工厂接口,并推迟实际创建工作至子类中。核心工厂类不再负责产品的创建,转而成为抽象工厂角色,仅负责具体工厂子类必须实现的接口。这种抽象化的好处是使得系统在不修改具体工厂角色的情况下,可以引进新的产品。
通常使用Factory模式来解决问题。在第一个问题中,我们经常声明一个创建对象的接口,并封装对象的创建过程。Factory在此类似于一个真正意义上的工厂。在第二个问题中,我们需要提供一个对象创建对象的接口,并在子类中提供具体实现,因为只有在子类中才能决定实例化哪一个类。
第一种情况的Factory结构示意图为图1。所以的Factory模式经常在系统开发中使用,但这并非Factory模式的最大威力所在。Factory模式不仅提供了创建对象的接口,更重要的是延迟了子类的实例化。以下是这种情况的一个Factory结构示意图:图2。Factory模式的应用并非只是为了封装对象的创建,而是要把对象的创建放到子类中实现:Factory中只是提供了对象创建的接口,其实现将放在Factory的子类ConcreteFactory中进行。这是图2和图1的区别所在。
实例描述:女娲补天的故事大家都听说过吧,今天不说这个,说女娲创造人的故事。女娲在补了天后,下到凡间一看,哇塞,风景太优美了,天空是湛蓝的,水是清澈的,空气是清新的,太美丽了,然后就待时间长了就有点寂寞了,没有动物,这些看的到都是静态的东西呀,怎么办?别忘了是神仙呀,没有办不到的事情,于是女娲就架起了八卦炉(技术术语:建立工厂)开始创建人,具体过程是这样的:先是泥巴捏,然后放八卦炉里烤,再扔到地上成长,但是意外总是会产生的:第一次烤泥人,兹兹兹兹~~,感觉应该熟了,往地上一扔,biu~,一个白人诞生了,没烤熟!第二次烤泥人,兹兹兹兹兹兹兹兹~~,上次都没烤熟,这次多烤会儿,往地上一扔,嘿,熟过头了,黑人哪!第三次烤泥人,兹~兹~兹~,一边烤一边看着,嘿,正正好,Perfect!优品,黄色人类!这个过程还是比较有意思的,先看看类图:
我的工程目录:
注释:main(),女娲 IHuman,产品接口 CYellowHuman,产品之一 CWhiteHuman,产品之二 CBlackHuman,产品之三 IHumanFactory,工厂接口 CYellowHumanFactory,工厂之一 CWhiteHumanFactory,工厂之二 CBlackHumanFactory,工厂之三
产品接口类IHuman IHuman.h
黄种人类YellowHuman YellowHuman.h
YellowHuman.cpp
白种人类WhiteHuman WhiteHuman.h
WhiteHuman.cpp
黑种人BlackHuman BlackHuman.h
BlackHuman.cpp
工厂接口IHumanFactory IHumanFactory.h
创造黄种人工厂类YellowHumanFactory YellowHumanFactory.h
YellowHumanFactory.cpp
创造白种人工厂类WhiteHumanFactory.h WhiteHumanFactory.h
WhiteHumanFactory.cpp
创造黑种人工厂类BlackHumanFactory BlackHumanFactory.h
BlackHumanFactory.cpp
主类main.cpp
结果如下:
参考文献:《设计模式之禅》,《GoF_23种设计模式解析》
二、kindle有哪些程序员看的书推介
很多 自己去搜
kindle特别适合看小说 看英文版本的书籍,体验超级给力 ,对眼睛的伤害可以说很低,看久了也不疲劳, 待机也不错 手感也很棒,亚马逊资源也是很丰富的,但是kindle对PDF的书籍支持的很不好。
kindle原系统支持azw、pdf、mobi、prc、txt格式。其中mobi、azw和prc格式支持最为优秀。 PDF如果是扫描版的,因为不是为6寸量身定做的,所以,显示会不太清晰,或者由于本身扫描效果就不太好,所以会不太清晰。如果是字太小,原系统可以考虑局部放大,多看系统下可以用智能切边功能。 txt格式支持不是太好,有可能会出现乱码或者翻页有问题。把txt格式编码另存为UTF-8的编码的效果会好点(在电脑中打开一个txt文件,点击文件→另存为→编码选择UTF-8→保存),但是建议最好是转换成mobi。
我推荐我买过的几本吧。Android的设计与实现:卷I《深入理解Android:卷I/卷II》Android开发高手进阶《设计模式之禅》SQL必知必会(第4版)鸟哥的Linux私房菜:基础学习篇(第3版) (这一本居然在商店找不到了,我当时是每日优惠榜上5.99元买的)以上这些书都是打折的时候买的,因为只需几块钱我觉得还是很划算的。亚马逊的编程电子书也经常有打折的,只不过比较少在每日榜和每周优惠榜上出现。KP2没用过,不过编程类的电子书在Nexus5这种5.0寸手机上看的确体验不太好,长一点的代码都换行太难看了,字体调小了又伤眼。但是在家用IPad上看体验就好很多,但是回到家了我还是习惯看实体书。所以我一般都是坐公交的时候用手机看kindle上的纯文字的历史书和小说书。
到此,以上就是小编对于设计模式之禅mobi的问题就介绍到这了,希望介绍关于设计模式之禅mobi的2点解答对大家有用。
留言评论
暂无留言