引言在山西面馆吃鸡蛋面的时候突然想起装饰者这个模式,觉得面馆这个场景跟书中的星巴兹咖啡的场景很像,边吃边思考装饰者模式。这里也就依葫芦画瓢,换汤不换药的用装饰者模式来模拟一碗鸡蛋面是怎么出来的吧。吃货有吃货...

引言不知不自觉又将设计模式融入生活了,吃个饭也不得安生,也发现生活中的很多场景,都可以用设计模式来模拟。原来设计模式就在我身边。为什么观察者模式会出现呢? 为了建立一种对象与对象之间的依赖关系,一个对象发生改...

引言将学习融入生活中,是件很happy的事情,不会感觉到累。一个感觉:很好玩!挺开心的......为什么会出现建造者模式? 在软件系统中,有时面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成。 这个...

引言今天是冬至,去饺子馆吃饺子,看他们店里面的水饺种类挺多,在等待中,在想是不是可以用设计模式模拟一下,生产饺子的过程,正好最近也在看工厂模式,也就现学现卖了。当然,实现的方式很多,只是一个例子而已。祝大家冬至,...

引言已经不想再数这是第多少个一个人的平安夜了,一个人走在路上,发现满脑子的技术问题,也许,在技术中才能找到一点安慰吧。很多朋友一直问我,为什么那么拼,lz只是觉得“如果连自己喜欢的工作,都做不好,那么活着就太空虚...

引言闲着没事,终于又拿起Head First设计模式 翻了翻,脑海里也一直在想抢票的事,抢票中使用一些抢票工具,这个抢票工具是否就是一个中间代理呢?什么是代理? 自己的理解就是有些事排个代表可以去做,自己也可以去做,这个...

引言今天突然跟朋友谈起设计原则,心里想想面向对象的设计原则与要素都有哪些?掰掰指头算算能说出几个?做了这么久开发,能有几个能说全的?更别说在项目总去使用了。也许,一些设计原则已经成为习惯,比如单一指责,不用说,...

引言该过年了,总让人有点浮躁,公司就省俩人了,唉,如果坐等时间,那实在难熬,只能给自己找点事做,转移一下注意力。进入今天的主题吧策略模式。策略模式定义策略模式定义了算法族,分别封装起来,让它们之间可以相互替换,此...

引言第一天上班,没什么任务,就学习了下模版方法模式,这里也是现学现卖,模版方法给我的感觉是似曾相识,总感觉用过,而当时并不知道是模版方法,挺悲催的。年后第一天,吃饭是个大问题,好不容易找到一个米线馆,人非常的多,...

实例这里采用书中餐厅订餐的例子。餐厅订餐的例子还是比较简单的,也比较好理解,书中的遥控器的例子,太长了,能把人绕晕,图1:图2:从餐厅到命令模式命令模式类图Command: 定义命令的接口,声明执行的方法。 Concre...

适配器假设我们已经有一个软件系统,原来使用了一个第三方类库A。现在有一个新的第三方类库B,其功能等各方面都更加强大。我们希望用B来替换A,以改善我们的系统。但是B的接口与A不一样。那怎么办呢?方案一:重建一个新系统,...

迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。类图角色Iterator:定义访问和遍历元素的接口Concretelterator:具体迭代器,实现迭代器接口,对该聚合遍历时跟踪当前位置。Aggregate:聚...

引言比如:复制文件,可以一个一个文件复制粘贴也可以整个文件夹进行复制粘贴。组合模式允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。类图角色Component:为...

引言一些软件安装之后,默认的是开机启动,假如一个用户对电脑不太懂,安装一些软件,就会采用软件默认安装的方式,而这些软件默认的是开机启动的,比如:暴风影音,酷狗,qq,杀毒软件,延迟加载的服务等。这些子系统,都在你按下...

引言状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。允许一个对象在其内部状态改变时改变它的行为。状态模式允许对...

1