设计模式总结干货
分类标签: 设计模式
1.面向对象的三大特性 1)封装(Encapsulation) 隐藏对象的具体实现细节,通过共有方法暴露对象的功能。内部结构可以自由修改,同时可对成员进行更加精确的控制 (比如在setter方法中加值合法判断) 2)继承(Inheritance) 使用已经存在的类作为基础类(父类),在此基础上建立新类(子类), 子类既可复用父类的功能,也能进行扩展,从而实现代码复用。阅读全文 »
深入浅出SINGLETON单例设计模式
分类标签: 设计模式 Java
单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了。这个设计模式主要目的是想在整个系统中只能出现一个类的实例。这样做当然是有必然的,比如你的软件的全局配置信息,或者是一个Factory,或是一个主控类,等等。你希望这个类在整个系统中只能出现一个实例。当然,作为一个技术负责人的你,你当然有权利通过使用非技术的手段来达到你的目的。阅读全文 »
程序员上班路上实例解析三种工厂设计模式
分类标签: 设计模式
一、前言 同样在上班的路上,一个程序员想着是买梅干菜肉包还是买酸辣粉丝包,到了包子点 却发现只有馒头馅子的包子了,却买了一包豆浆;一个程序员可能在在家吃完饭开车 去上班了,这尼玛是富二代;一个程序员可能想着如何把自己的代码如何优化,如何 提高性能,如何的如何……上班路上的程序员让你轻松了解三个设计模式。阅读全文 »
设计模式与追妹子(23种设计模式巧妙解析,趣味理解)
分类标签: 设计模式
本文用轻松的语言,形象解释了 23 种模式,有很好的启发作用。 创建型模式 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory。阅读全文 »
小菜和大鸟的编程故事之十四:设计模式不能戏说!设计模式怎就不能戏说?
分类标签: 设计模式
次日,小菜来到大鸟处。 “大鸟,你在写什么东西?” 小菜看到大鸟的电脑上开着记事本。 “哦,我打算写篇博客,名字就叫《设计模式不能戏说?》” 大鸟解释道。 “嘻嘻,废话,这又不是电视剧《戏说XX》,可以乱讲不负责任,设计模式戏说了如何讲得清楚。怎么突然会想起来写这样的文章?” “你知道为什么《Head First 阅读全文 »
小菜和大鸟的编程故事之十三:门面让程序员的程序更加体面
分类标签: 设计模式
大鸟说道:“实际上没有学过设计模式去理解三层架构会有失偏颇的,毕竟分层是更高一级别的模式,所谓的架构模式。不过在程序中,有意识的遵循设计原则,却也可以有效的做出好的设计。” “不要告诉我,刚才讲的‘迪米特法则’就会在分层中用得上?”小菜说。 “当然用得上,否则讲它干吗,你当我是在安慰你而临时编个法则来骗骗你呀?来,再来看看你上次写的代码。”阅读全文 »
小菜和大鸟的编程故事之十二:无熟人难办事?--聊设计模式之迪米特法则
分类标签: 设计模式
次日傍晚,小菜敲开了大鸟家的门。“回来啦!怎么样?第一天上班感受多吧。”大鸟关心的问道。“感受真是多哦!!!”小菜一脸的不屑一顾。“怎么了?受委屈了吗。说说看怎么回事?”“委屈谈不上,就感觉公司氛围不是很好。我一大早就到他们公司,正好我的主管出去了不在公司。人事处的小杨让我填了表后,就带我到IT部领取电脑,她向我介绍了一个叫‘小张’的同事认识,说我跟他办领取电脑的手续就可以了。阅读全文 »
小菜和大鸟的编程故事之十一:三层架构 分层开发
分类标签: 设计模式
”大鸟,我们继续讨论吧!”小菜很沮丧的说。“小伙子,不会修收音机也是很正常的,没什么大不了的,用不着丧着一个脸。好象失恋一样,男人再强也要学会说‘不’。”大鸟安慰着说,“如果你的目标是要成为修理电器专家,那么你连收音机都不会修,那是很郁闷的事。但你现在的目标是什么?”“我想成为软件架构师,编程专家。”小菜毫不含糊的说。阅读全文 »
小菜和大鸟的编程故事之十:会修电脑不会修收音机?--谈设计模式原则
分类标签: 设计模式
小菜学会了反射后,正在兴奋,想着大鸟的问题。此时,突然声音响起。“死了都要爱,不淋漓尽致不痛快,感情多深只有这样,才足够表白。死了都要爱……”原来是小菜的手机铃声,大鸟吓了一跳,说道:”你小子,用这歌做铃声,吓唬人啊!这要是在公司开大会时响起,你要被领导淋漓尽致爱死!MD,还在唱,快接!” 小菜很是郁闷,拿起手机一看,一个阅读全文 »
小菜和大鸟的编程故事之九:反射--程序员的快乐
分类标签: 设计模式
“到底如何去改良策略模式呢?”小菜恳切地问道。“你仔细观察过没有,你的代码,不管是用工厂模式写的,还是用策略模式写的,那个分支的switch依然去不掉。原因在哪里?”大鸟反问道。“因为程序里有下拉选择,用户是有选择的,那么程序就必须要根据用户的选择来决定实例化哪一个子类对象。无论是在客户端窗体类编程还是到工厂类里编程,这个switch总是少不掉的。问题主要出在这里。”小菜十分肯定的说。阅读全文 »
小菜和大鸟的编程故事之八:初识"策略模式"
分类标签: 设计模式
小菜次日来找大鸟,说:“《深入浅出设计模式》的第一章我看完了,它讲的是策略模式(Strategy)。“策略模式”定义了算法家族,分别封装起来,让它们之间可以互相替换, 此模式让算法的变化, 不会影响到使用算法的客户。看来商场收银系统应该考虑用策略模式?阅读全文 »
小菜和大鸟的编程故事之七:工厂模式不好用了?
分类标签: 设计模式
小菜心里想:“大鸟要我做的是一个商场收银软件,营业员根据客户购买商品单价和数量,向客户收费。这个很简单,两个文本框,输入单价和数量,再用个列表框来记录商品的合计,最终用一个按钮来算出总额就可,对,还需要一个重置按钮来重新开始,不就行了?!” 商场收银系统v1.0关键代码如下:...阅读全文 »
小菜和大鸟的编程故事之六:简单工厂模式之体验
分类标签: 设计模式
次日,小菜再来找大鸟,问道:“你昨天说计算器这样的小程序还可以用到面向对象三大特性?继承和多态怎么可能用得上,我实在不可理解。” 大鸟:“小菜很有钻研精神吗?好,今天我让你功力加深一级。你先要考虑一下,你昨天写的这个代码,能否做到很灵活的可修改和扩展呢?”阅读全文 »
小菜和大鸟的编程故事之五:业务和界面分离
分类标签: 设计模式
小菜:“你的意思是分一个类出来? 哦,对的,让计算和显示分开。” 大鸟:“准确的说,就是让业务逻辑与界面逻辑分开,让它们之间的耦合度下降。只有分离开,才容易达到容易维护或扩展。” 小菜:“让我来试试看。”阅读全文 »
小菜和大鸟的编程故事之四:抛弃复制 选择复用
分类标签: 设计模式
小菜:“我明白了,他说用任意一种面向对象语言实现,那意思就是要用面向对象的编程方法去实现,对吗?OK,这个我学过,只不过当时我没想到而已。” 大鸟:“所有编程初学者都会有这样的问题,就是碰到问题就直觉的用计算机能够理解的逻辑来描述和表达待解决的问题及具体的求解过程。...”阅读全文 »
小菜和大鸟的编程故事之三:代码规范和重构意识
分类标签: 设计模式 软件架构
本文续接上文。 大鸟说:“且先不说出题人的意思,单就你现在的代码,就有很多不足的地方需要改进。比如变量命名,你的命名就是ABCD,变量不带有任何具体含义,这是非常不规范的;判断分支,你这样的写法,意味着每个条件都要做判断,等于计算机做了三次无用功;数据输入有效性判断等,如果用户输入的是字符符号而不是数字怎么办?阅读全文 »
小菜和大鸟的编程故事之二:面试中代码无错就够了吗?
分类标签: 设计模式
小菜今年计算机专业大四了,学了不少软件开发方面的东西,也学着编了些小程序,踌躇满志,一心要找一个好单位。当投递了无数份简历后,终于收到了一个单位的面试通知,小菜欣喜若狂。 到了人家单位,前台小姐给了他一份题目,上面写着,“请用C++、Java、C#或VB.NET任意一种面向对象语言实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果。”阅读全文 »
小菜和大鸟的编程故事之一:活字印刷-面向对象思想的先驱
分类标签: 设计模式 软件架构
本编程系列来自于伍迷家园,是我看过的关于设计模式方面很好的教程之一,在这里推荐给大家,望能喜欢。 话说三国时期,曹操带领百万大军攻打东吴,大军在长江赤壁驻扎,军船连成一片,眼看就要灭掉东吴,统一天下,曹操大悦,于是大宴众文武,在酒席间,曹操诗性大发,不觉吟道:“喝酒唱歌,人生真爽。......”。阅读全文 »
设计模式,不只属于面向对象
分类标签: 设计模式
文章开篇先说下什么是模式。设计模式的英文是Design Pattern,模式是Pattern的汉译。所谓Pattern就是一种规则,或是一种模型,或是一种习惯。Pattern这个东西到处都是,并不只有技术圏子里才有。比如: 文章有文章的Pattern。如新闻有新闻的Pattern(第一段话简述了整个新闻),诗歌总是抒情的,论文总是死板的,讲稿总是高谈的,漫画总是幽默的,……。阅读全文 »