大话设计模式 - (EPUB全文下载)
文件大小:1.33 mb。
文件格式:epub 格式。
书籍内容:
大话设计模式
第1章 代码无错就是优?——简单工厂模式
第2章 商场促销——策略模式
第3章 拍摄UFO——单一职责原则
第4章 考研求职两不误——开放-封闭原则
第5章 会修电脑不会修收音机?——依赖倒转原则
第6章 穿什么有这么重要?——装饰模式
第7章 为别人做嫁衣——代理模式
第8章 雷锋依然在人间——工厂方法模式
第9章 简历复印——原型模式
第10章 考题抄错会做也白搭——模板方法模式
第11章 无熟人难办事?——迪米特法则
第12章 牛市股票还会亏钱?——外观模式
第13章 好菜每回味不同——建造者模式
第14章 老板回来,我不知道——观察者模式
第15章 就不能不换DB吗?——抽象工厂模式
第16章 无尽加班何时休——状态模式
第17章 在NBA我需要翻译——适配器模式
第18章 如果再回到从前——备忘录模式
第19章 分公司=一部门——组合模式
第20章 想走?可以!先买票——迭代器模式
第21章 有些类也需计划生育——单例模式
第22章 手机软件何时统一——桥接模式
第23章 烤羊肉串引来的思考——命令模式
第24章 加薪非要老总批?——职责链模式
第25章 世界需要和平——中介者模式
第26章 项目多也别傻做——享元模式
第27章 其实你不懂老板的心——解释器模式
第28章 男人和女人——访问者模式
第29章 OOTV杯超级模式大赛——模式总结
读者意见反馈表
附录A 培训实习生——面向对象基础
附录B 参考文献
第1章 代码无错就是优?——简单工厂模式
1.1 面试受挫
小菜今年计算机专业大四了,学了不少软件开发方面的东西,也学着编了些小程序,踌躇满志,一心要找一个好单位。当投递了无数份简历后,终于收到了一个单位的面试通知,小菜欣喜若狂。
到了人家单位,前台小姐给了他一份题目,上面写着:“请用C++、Java、C#或VB.NET任意一种面向对象语言实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果。”
小菜一看,这个还不简单,三下五除二,10分钟不到,小菜写完了,感觉也没错误。交卷后,单位说一周内等通知吧。于是小菜只得耐心等待。可是半个月过去了,什么消息也没有,小菜很纳闷,我的代码实现了呀,为什么不给我机会呢。
时间:2月26日20点 地点:大鸟房间 人物:小菜、大鸟
小菜找到从事软件开发工作七年的表哥大鸟,请教原因,大鸟问了题目和了解了小菜代码的细节以后,哈哈大笑,说道:“小菜呀小菜,你上当了,人家单位出题的意思,你完全都没明白,当然不会再联系你了。”
小菜说:“我的代码有错吗?单位题目不就是要我实现一个计算器的代码吗,我这样写有什么问题。”
1.2 初学者代码毛病
大鸟说:“且先不说出题人的意思,单就你现在的代码,就有很多不足的地方需要改进。”
1.3 代码规范
“哦,说得没错,这个我以前听老师说过,可是从来没有在意过,我马上改,改完再给你看看。”
大鸟:“吼吼,不错,不错,改得很快嘛?至少就目前代码来说,实现计算器是没有问题了,但这样写出的代码是否合出题人的意思呢?”
小菜:“你的意思是面向对象?”
大鸟:“哈,小菜非小菜也!”
1.4 面向对象编程
小菜:“我明白了,他说用任意一种面向对象语言实现,那意思就是要用面向对象的编程方法去实现,对吗?OK,这个我学过,只不过当时我没想到而已。”
大鸟:“所有编程初学者都会有这样的问题,就是碰到问题就直觉地用计算机能够理解的逻辑来描述和表达待解决的问题及具体的求解过程。这其实是用计算机的方式去思考,比如计算器这个程序,先要求输入两个数和运算符号,然后根据运算符号判断选择如何运算,得到结果,这本身没有错,但这样的思维却使得我们的程序只为满足实现当前的需求,程序不容易维护,不容易扩展,更不容易复用。从而达不到高质量代码的要求。”
小菜:“鸟哥呀,我有点糊涂了,如何才能容易维护,容易扩展,又容易复用呢,能不能具体点?”
1.5 活字印刷,面向对象
大鸟:“这样吧,我给你讲个故事。你就明白了。”
“话说三国时期,曹操带领百万大军攻打东吴,大军在长江赤壁驻扎,军船连成一片,眼看就要灭掉东吴,统一天下,曹操大悦,于是大宴众文武,在酒席间,曹操诗性大发,不觉吟道:‘喝酒唱歌,人生真爽。……’。众文武齐呼:‘丞相好诗!’于是一臣子速命印刷工匠刻版印刷,以便流传天下。”
“样张出来给曹操一看,曹操感觉不妥,说道:‘喝与唱,此话过俗,应改为‘对酒当歌’较好!’,于是此臣就命工匠重新来过。工匠眼看连夜刻版之工,彻底白费,心中叫苦不迭。只得照办。”
“样张再次出来请曹操过目,曹操细细一品,觉得还是不好,说:‘人生真爽太过直接,应改问语才够意境,因此应改为‘对酒当歌,人生几何?……’当臣转告工匠之时,工匠晕倒……!”
“小菜你说,这里面问题出在哪里?”大鸟问道。
小菜说:“是不是因为三国时期活字印刷还未发明,所以要改字的时候,就必须要整个刻板全部重新刻。”
大鸟:“说得好!如果是有了活字印刷,则只需更改四个字就可,其余工作都未白做。岂不妙哉。”
“第一,要改,只需更改要改之字,此为可维护;第二,这些字并非用完这次就无用,完全可以在后来的印刷中重复使用,此乃可复用;第三,此诗若要加字,只需另刻字加入即可,这是可扩展;第四,字的排列其实可能是竖排可能是横排,此时只需将活字移动就可做到满足排列需求,此是灵活性好。”
“而在活字印刷术出现之前,上面的四种特性都无法满足,要修改,必须重刻,要加字,必须重刻,要重新排列,必须重刻,印完这本书后,此版已无任何可再利用价值。”
小菜:“是的,小时候,我一直奇怪,为何火药、指南针、造纸术都是从无到有,从未知到发现的伟大发明,而活字印刷仅仅是从刻版印刷到活字印刷的一次技术上的进步,为何不是评印刷术为四大发明之一呢?原来活字印刷的成功是这个原因。”
1.6 面向对象的好处
大鸟:“哈,这下你明白了?我以前也不懂,不过做了软件开发几年后,经历了太多的类似曹操这样的客户要改变需求,更改最初想法的事件,才逐渐明白当中的道理。其实 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 大话设计模式 - (EPUB全文下载)