随笔分类 -  设计模式

设计模式之状态模式(三)
摘要:上次我们很愉快的完成了状态模式的定义和代码的编写,但是在第一篇的时候我们说过,还需要实现一个抽十次中一次的功能,上次还没解决呢。 我们已经实现了状态模式,所以实现这个游戏应该易如反掌。首先,我们要在GumballMachine类中加入一个状态: 然后,我们去实现WinnerState类本身,它和So 阅读全文

posted @ 2019-10-16 18:06 程序员小跃 阅读(272) 评论(0) 推荐(2)

设计模式之状态模式(二)
摘要:在上一次的文章里,我们看到,需求的变更,迫使我们需要重新改造现有的糖果机代码来符合这个新提的需求。但是,也并没有难倒我们,至少我们在文末给出了思路和类图,不知道你想的怎么样了呢。 我们不来虚的,直接进入正题,开启我们的学习之旅。 实现我们的状态类 现在是实现一个状态的时候了:我们知道我们要的行为是什 阅读全文

posted @ 2019-08-28 12:32 程序员小跃 阅读(358) 评论(0) 推荐(0)

设计模式之状态模式(一)
摘要:我原本以为在对乡村的一切事物都很容易,但是每次我一回头就有更多变更的请求纷至沓来。我快崩溃了! 当小编读到这段话的时候,甚是感慨,设计模式的世界真的不是那么容易弄懂的,好在我还在学习。 基本常识:策略模式和状态模式是双胞胎,在出生时才分开。 策略模式是围绕可以互换的算法来创建成功业务的。然而,状态走 阅读全文

posted @ 2019-07-23 14:59 程序员小跃 阅读(556) 评论(0) 推荐(0)

设计模式之迭代器与组合模式(四)
摘要:因为这系列篇幅较长,所以在这里也不进行任何铺垫,直奔主题去啦。 利用组合设计菜单 我们要如何在菜单上应用组合模式呢?一开始,我们需要创建一个组件接口来作为菜单和菜单项的共同接口,让我们能够用统一的做法来处理菜单和菜单项。换句话说,我们可以针对菜单或菜单项调用相同的方法。 让我们从头来看看如何让菜单能 阅读全文

posted @ 2019-06-26 12:38 程序员小跃 阅读(378) 评论(0) 推荐(0)

设计模式之迭代器与组合模式(三)
摘要:现在我们已经能愉快地看着一页一页罗列出来的菜单进行点菜了。现在又有的小伙伴希望能够加上一份餐后甜点的“子菜单”。怎么办呢?我们不仅仅要支持多个菜单,甚至还要支持菜单中的菜单。 如果我们能让甜点菜单变成餐厅菜单集合的一个元素,那该有多好。但是根据现在的实现,根本做不到呀。我们想要的是这样的: 我们需要 阅读全文

posted @ 2019-06-22 12:05 程序员小跃 阅读(372) 评论(1) 推荐(0)

设计模式之迭代器与组合模式(二)
摘要:在上次的文章中,我们通过层层引导,已经知道了迭代器模式的由来。现在我们再好好总结下。 关于 迭代器模式 ,你所需要知道的第一件事情,就是它依赖于一个名为迭代器的接口。这是一个可能的迭代器的接口: 现在,我们一旦有了这个接口,就可以为各种对象集合实现迭代器:数组、列表、散列表...如果我么想要为数组实 阅读全文

posted @ 2019-06-18 13:53 程序员小跃 阅读(499) 评论(0) 推荐(1)

设计模式之迭代器与组合模式(一)
摘要:很高兴,这本书总共13章,这次已经是到第9章了;同时也很遗憾,小编脱离了书本,还是不知道如何描述一个设计模式。就比如迭代器与组合模式,原书篇幅比较长,小编尽量通俗易懂些,不到之处,还请各位小伙伴参考原书,小编也欢迎和大家一起交流。 有许多种方法可以把对象堆起来成为一个集合(collection) 。 阅读全文

posted @ 2019-06-11 08:48 程序员小跃 阅读(443) 评论(0) 推荐(1)

设计模式之模板方法模式(一)
摘要:学习了前面的朋友都知道, 目前为止,我们的议题都是绕着封装转;我们已经封装了对象创建、方法调用、复杂接口、鸭子、比萨...那接下来呢 ? 我们将要深入封装算法块、好让子类可以在任何时候都可以将自己挂接进运算里。我们甚至会在这里学到一个受好莱坞影响而启发的设计原则。 喝点咖啡或茶饮 有些人喜欢喝咖啡, 阅读全文

posted @ 2019-06-04 13:55 程序员小跃 阅读(445) 评论(2) 推荐(1)

设计模式之模板方法模式(三)
摘要:模板方法模式是一个很常见的模式,但是也需要我们拥有一双锐利的眼睛,因为模板方法有许多实现,而他们看起来并不一定和书上所讲的设计一致。 这个模式很常见是因为对创建框架来说,这个模式简直棒极了。由框架控制如何做事情,而由你(使用这个框架的人)指定框架算法中每个步骤的细节。 用模板方法排序 我们经常需要数 阅读全文

posted @ 2019-06-04 13:54 程序员小跃 阅读(248) 评论(0) 推荐(0)

设计模式之模板方法模式(二)
摘要:上一篇我们已经学会了模板方法模式,这次我们继续来深入学习下。毕竟学会只是第一步,还有更进一步的学习和深入等着我们呢。 我们先来看下,对模板方法模式的一个总结的类图: 让我们细看抽象类是如何被定义的,包含了它内含的模板方法和原语操作。 对模板方法进行挂钩 钩子是一种被声明在抽象类中的方法,但只有空的或 阅读全文

posted @ 2019-06-01 12:35 程序员小跃 阅读(674) 评论(0) 推荐(0)

设计模式之适配器模式与外观模式(二)
摘要:好了,通过上次的学习,我们已经知道适配器模式是如何将一个类的接口转换成另一个符合客户期望的接口。同时也知道在Java中要做到这一点,必须将一个不兼容接口的对象包装起来,变成兼容的对象。 我们现在要看一个改变接口的新模式,但是它改变接口的原因是为了简化接口。这个模式被巧妙地命名为外观模式(Facade 阅读全文

posted @ 2019-05-25 09:39 程序员小跃 阅读(531) 评论(0) 推荐(0)

设计模式之适配器模式与外观模式(一)
摘要:学习技术的过程总是需要慢慢积累的,所以持续学习是一个一直存在的事情。很高兴,我能一直通过看书输出设计模式相关的系列,也很感谢各位朋友的持续关注。 废话不多说啦,今天我们继续学习一个对于Android开发来说可能不太陌生的模式,适配器模式和外观模式。曾经或者现在正在做Android开发的你,是不是很熟 阅读全文

posted @ 2019-05-21 12:52 程序员小跃 阅读(655) 评论(1) 推荐(0)

设计模式之命令模式(三)
摘要:我回来啦!今天是周六,一看命令模式还有一个总结未完成,赶紧爬起来做做好。 就如上一篇所说的,如果拥有了一个遥控器,却无法光凭按下一个按你,就同时能弄暗灯光、打开音响和电视、设置到DVD,并让热水器开始加温,那么我要这个遥控器还有什么意义呢? 使用宏命令 根据比较高级的想法来看,就是我们需要制造一种新 阅读全文

posted @ 2019-05-18 14:17 程序员小跃 阅读(410) 评论(0) 推荐(0)

设计模式之命令模式(二)
摘要:上一次留给大家去做的实践,不知道大家执行的怎么样了呢。 我们通过一个简单的练习,完成了一个控制开关。那现在,我们打算将遥控器的每个插槽,对应到一个命令这样就要遥控器变成“调用者”。当按下按钮,相应命令对象的execute()方法就会被调用,其结果就是,接收者(例如电灯、风扇、音响)的动作被调用。 实 阅读全文

posted @ 2019-05-15 13:56 程序员小跃 阅读(565) 评论(0) 推荐(1)

设计模式之命令模式(一)
摘要:在本次学习过程中,我们把封装带到一个全新的境界:把方法调用(method invocation)封装起来 。没错,通过封装方法调用,我们可以把运算块包装成形。 所以调用此运算的对象不需要关心事情是如何进行的,只要知道如何使用包装成形的方法来完成它就可以。通过封装方法调用,也可以做一些很聪明的事情,例 阅读全文

posted @ 2019-05-13 14:03 程序员小跃 阅读(567) 评论(0) 推荐(1)

设计模式之单例模式(二)
摘要:上一篇我们对经典的单例模式进行了学习,并且知道了单例模式的概念,以及如何通过单线程去创建一个有效的单例模式,让程序不用多次去创建实例。 但是,通过巧克力工厂的实践,我们很想知道在多线程模式下,这个到底会是什么情况呢?所以,就有了我们继续学习的目标啦。原来单例模式,不简单呀。 多线程的麻烦 首先,我们 阅读全文

posted @ 2019-05-08 13:11 程序员小跃 阅读(528) 评论(0) 推荐(1)

设计模式之单例模式(一)
摘要:这篇我们学习的是单例模式,相信很多朋友都或多或少使用过这个模式。很多设计模式的入门,都把单例模式作为第一个的,但是因为我们是跟着书本学习,所以放在了第五个里面。那么,你使用过的单例模式是怎么样的呢?懒汉式?饿汉式?双重校验?静态? 先来看下定义,单例模式(Singleton Pattern): 用来 阅读全文

posted @ 2019-05-06 13:48 程序员小跃 阅读(764) 评论(0) 推荐(1)

设计模式之工厂模式(五)
摘要:前面几篇,我们已经把简单工厂、工厂方法模式以及抽象工厂模式一一进行了拆解,一步步让我们学会了这几个工厂模式,哦,对了,简单工厂并不算真正意义上的工厂。 我们通过吃披萨的启发,对创建披萨进行了改造;又发展了远景,对披萨加盟有了浓厚的兴趣,并开了很多加盟店;又对材料进行了严格把控,才有了现在的规模。工厂 阅读全文

posted @ 2019-04-27 12:31 程序员小跃 阅读(381) 评论(0) 推荐(0)

设计模式之工厂模式(四)
摘要:上篇我们从理论上了解了什么是工厂方法模式,也知道了创建者类和产品类的主要作用是什么。更重要的是,我们还学到了一个设计原则 依赖倒置原则 ,这个原则能推导出我们为什么会使用工厂模式。 当然啦,上次还留下几个指导方针帮助我们去遵循依赖倒置原则。所以,接下来,我们就利用这几个方针,跟着方法,来重新设计下我 阅读全文

posted @ 2019-04-24 12:44 程序员小跃 阅读(717) 评论(0) 推荐(2)

设计模式之工厂模式(三)
摘要:上一次我们已经通过代码,简单的认识了工厂方法模式,具体的思路请移步到 "设计模式之工厂模式(二)" ,进行查看。这次,让我们通过设计模式的思想,来好好认识下工厂方法模式。 创建者和产品 所有工厂模式都用来封装对象的创建。工厂方法模式(Factory Method Pattern)通过让子类决定该创建 阅读全文

posted @ 2019-04-22 12:32 程序员小跃 阅读(843) 评论(0) 推荐(0)

导航