设计模式与思想
文章平均质量分 89
林花谢了春红
直男癌晚期,热爱打代码
展开
-
Java设计模式----外观模式(Facade)
1.什么是外观模式外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度,且客户端调用非常方便。这样说明有点教条化,举一个在网上看到的例子吧:不知道大家有没有比较过自己泡茶和去茶馆喝茶的区别,如果是自己泡茶需要自行准备茶叶、茶具和开水,如图1(A)所示,而去茶馆喝茶,最简单原创 2016-12-01 14:57:13 · 538 阅读 · 0 评论 -
Java设计模式----观察者模式(Observer)
1.什么是观察者模式建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展,这就是观察者模式的模式动机。观察者模式(Observer Pattern):定义对象间的一种一对多依赖原创 2016-12-14 09:31:17 · 1979 阅读 · 0 评论 -
Java设计模式----单例模式(Singleton)
1.什么是单例设计模式单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例2.实现方式1.饿汉式:package cn.limbo.design_patterns.singleton.hungry;/** * 饿汉式,只要有需求就new一个出来 * Created by limbo on 2016/12原创 2016-12-08 18:35:36 · 563 阅读 · 0 评论 -
Java设计模式----装饰模式(Decorator)
1.什么是装饰模式装饰模式(Decorator Pattern) :动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。其别名也可以称为包装器(Wrapper),与适配器模式的别名相同,但它们适用于不同的场合。根据翻译的不同,装饰模式也有人称之为“油漆工模式”,它是一种对象结构型模式举个例子吧,咖啡是一种饮料,咖啡的本质是原创 2016-12-07 09:11:42 · 706 阅读 · 0 评论 -
Java设计模式----桥接模式(Bridge)
1.什么是桥接模式先来一段教科书般的解释:在正式介绍桥接模式之前,我先跟大家谈谈两种常见文具的区别,它们是毛笔和蜡笔。假如我们需要大中小3种型号的画笔,能够绘制12种不同的颜色,如果使用蜡笔,需要准备3×12 = 36支,但如果使用毛笔的话,只需要提供3种型号的毛笔,外加12个颜料盒即可,涉及到的对象个数仅为 3 + 12 = 15,远小于36,却能实现与36支蜡笔同样的功能。如果增加原创 2016-12-05 21:50:32 · 487 阅读 · 0 评论 -
Java设计模式----职责链模式(Responsibility Chain)
1.什么是职责链模式“一对二”,“过”,“过”……这声音熟悉吗?你会想到什么?对!纸牌。在类似“斗地主”这样的纸牌游戏中,某人出牌给他的下家,下家看看手中的牌,如果要不起上家的牌则将出牌请求再转发给他的下家,其下家再进行判断。一个循环下来,如果其他人都要不起该牌,则最初的出牌者可以打出新的牌。在这个过程中,牌作为一个请求沿着一条链在传递,每一位纸牌的玩家都可以处理该请求。在设计模式中,我们也有原创 2016-12-12 17:12:19 · 772 阅读 · 0 评论 -
Java设计模式----组合模式(composite)
1.什么是组合模式对于树形结构,当容器对象(如文件夹)的某一个方法被调用时,将遍历整个树形结构,寻找也包含这个方法的成员对象(可以是容器对象,也可以是叶子对象)并调用执行,牵一而动百,其中使用了递归调用的机制来对整个结构进行处理。由于容器对象和叶子对象在功能上的区别,在使用这些对象的代码中必须有区别地对待容器对象和叶子对象,而实际上大多数情况下我们希望一致地处理它们,因为对于这些对象的区别对待原创 2016-12-02 21:10:45 · 604 阅读 · 0 评论 -
Java设计模式----建造者模式(Builder)
1.什么是建造者模式无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、方向盘、发送机等各种部件。而对于大多数用户而言,无须知道这些部件的装配细节,也几乎不会使用单独某个部件,而是使用一辆完整的汽车,可以通过建造者模式对其进行设计与描述,建造者模式可以将部件和其组装过程分开,一步一步创建一个复杂的对象。用户只需要指定复杂对象的类型就可以得原创 2016-12-11 11:48:35 · 1364 阅读 · 0 评论 -
Java设计模式----适配器模式(Adapter)
1.什么是适配器模式适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。看下面的一张图就可以明白什么是适配器模式了: 这样看上去是不是就很明白什么是适配器模式了?下面我拿中国的充电器在美国使用这个例子说明一下适配器模式实现的两种方式2.适配器模式实现的两种方式1).类适配器模式2).对象适原创 2016-11-30 21:06:05 · 365 阅读 · 0 评论 -
Java设计模式----命令模式(command)
看到两篇不错的博客https://quanke.gitbooks.io/design-pattern-java/content/%E5%91%BD%E4%BB%A4%E6%A8%A1%E5%BC%8F-Command%20Pattern.htmlhttp://design-patterns.readthedocs.io/zh_CN/latest/behavioral_patterns/转载 2016-12-13 14:34:36 · 451 阅读 · 0 评论