【内功心法】设计模式
文章平均质量分 91
享学IT
Enjoy learning IT !
展开
-
Java设计模式百例(番外) - Java的clone
本文是为下一篇“Java设计模式百例 - 原型模式”做铺垫,讨论一下Java中的对象克隆。本文内容综合了《Effective Java》、《Java与模式》以及其他网上相关资料,希望能够对您也有所帮助。原创 2017-11-17 22:28:39 · 432 阅读 · 0 评论 -
Java设计模式百例 - 享元模式
享元模式(Flyweight Pattern)以共享的方式支持大量的细粒度的对象。尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。从而减少创建对象的数量和内存占用量,提高性能。这种类型的设计模式属于结构型模式。原创 2017-12-13 14:48:52 · 358 阅读 · 0 评论 -
Java设计模式百例 - 门面模式
门面模式(Facade Pattern)用于隐藏系统的复杂性,并向客户端提供一些简化访问方法和对现有系统类方法的委托调用。这种类型的设计模式属于结构型模式,用来隐藏系统的复杂性。原创 2017-12-05 13:43:03 · 306 阅读 · 0 评论 -
Java设计模式百例 - 迭代器模式
迭代器(Iterator)模式又叫游标(Cursor)模式,通常用于集合类型来提供一种顺序访问其中元素而又不必暴漏集合的内部结构,是一种行为模式。原创 2017-12-14 12:32:17 · 321 阅读 · 0 评论 -
Java设计模式百例 - 策略模式
策略(Strategy)模式是对算法的一种封装,是把使用算法的责任和算法本身分割开来,委托给不同的对象管理,从而可以实现算法的互换,从而一个类的行为或其算法可以在运行时更改,这种设计模式属于行为型模式。原创 2017-12-06 13:59:04 · 440 阅读 · 0 评论 -
Java设计模式百例 - 原型模式
原型模式(Prototype Pattern)用于创建重复的对象,这种类型的设计模式属于创建型模式,与工厂模式类似,不同在于工厂模式通过`new`的方式创建对象,而原型模式通过复制既有对象的方式创建对象。当直接创建对象的代价比较大时,则采用这种模式。原创 2017-11-27 11:30:23 · 429 阅读 · 0 评论 -
Java设计模式百例 - 模板方法模式
模板方法模式(Template Method Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。原创 2017-12-07 11:29:55 · 447 阅读 · 0 评论 -
Java设计模式百例 - 解释器模式
解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。原创 2017-12-25 12:46:58 · 452 阅读 · 0 评论 -
Java设计模式百例 - 调停者模式
调停者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性的。这种模式提供了一个调停者类,用来充当“中心化”或“总线化”的角色,与各个对象通信,从而避免了其他对象之间的互相通信,从而降低了耦合度。原创 2017-12-26 13:24:34 · 470 阅读 · 0 评论 -
Java设计模式百例 - 备忘录模式
备忘录模式(Memento pattern)又叫快照模式(Snapshot pattern),是对象的行为模式。用于保存一个对象的某个状态,以便在适当的时候恢复对象。原创 2018-01-02 16:01:13 · 671 阅读 · 0 评论 -
Java设计模式百例 - 状态模式
状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。原创 2017-12-27 20:05:05 · 421 阅读 · 0 评论 -
Java设计模式百例 - 观察者模式
观察者(Observer)模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,主体对象的状态变化会通知所有观察者对象。原创 2017-12-04 12:02:39 · 604 阅读 · 0 评论 -
Java设计模式百例 - 责任链模式
责任链模式(Chain of Responsibility Pattern)中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。这种类型的设计模式属于行为型模式。原创 2017-12-12 12:38:10 · 422 阅读 · 0 评论 -
Java设计模式百例 - 命令模式
命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的处理对象,并把该命令传给这个处理对象,该处理对象执行命令。原创 2017-12-11 17:27:48 · 478 阅读 · 0 评论 -
Java设计模式百例 - 简单工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一,在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象很好的方式。具体来说,有简单工厂模式(simple factory)、工厂方法模式(factory method)和抽象工厂模式(abstract factory)等模式。 本篇先从原创 2017-11-15 09:33:11 · 764 阅读 · 0 评论 -
Java设计模式百例 - 工厂方法模式
工厂方法模式同简单工厂模式一样,也是创建类模式,又叫做虚拟构造(Virtual Constructor)模式或多态工厂(Polymorphic Factory)模式。其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。上篇说到,简单工厂模式并未做到完全的“开闭原则”。工厂方法模式就是为了完全满足“开闭原则”,即在简单工厂模式的基础上,做到当增加产品类型的时候,无需改动现有的代码。原创 2017-11-15 09:34:19 · 421 阅读 · 1 评论 -
Java设计模式百例 - 桥接模式
桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。原创 2017-11-29 12:23:04 · 371 阅读 · 0 评论 -
Java设计模式百例 - 抽象工厂模式
抽象工厂模式是在工厂方法模式之上的有一次升级,以便能够处理更加复杂的对象创建场景。因此也是所有形态的工厂模式中最为抽象和最具一般性的一种形态。原创 2017-11-15 09:35:22 · 539 阅读 · 0 评论 -
Java设计模式百例 - 开篇
把模式尤其是设计原则装进脑子里,然后自然而优雅地融汇使用,不要死记硬背、不可生搬硬套、不亦奉为圭臬。原创 2017-11-11 23:59:26 · 502 阅读 · 0 评论 -
Java设计模式百例 - 单例模式
单例模式(Singleton Pattern)是Java中最简单的设计模式之一,但也是一个很值得玩味儿的设计模式,这是一个创建型的模式。单例模式的目的在于,对于一些类,需要保证其仅有一个实例。原创 2017-11-16 10:46:32 · 366 阅读 · 0 评论 -
Java设计模式百例 - 建造者模式
本文源码见:https://github.com/get-set/get-designpatterns/tree/master/builder建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象,这种类型的设计模式属于创建型模式。建造模式可以将一个复杂对象的内部组成部分,与该对象本身的创建分离开来,从而使得复杂对象的组装更灵活。文绉绉的话不宜多...原创 2017-11-16 15:37:54 · 583 阅读 · 0 评论 -
Java设计模式百例 - 适配器模式
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它把一个类的接口变换成客户端所期待的另一种接口,从而使原本不匹配而无法在一起工作的两个类能够在一起工作。原创 2017-11-28 17:21:35 · 422 阅读 · 0 评论 -
Java设计模式百例 - 装饰器模式
装饰器模式(Decorator Pattern)以客户端透明的方式扩展对象的功能。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装,是继承关系的一个替代方案。原创 2017-12-01 15:02:31 · 526 阅读 · 0 评论 -
Java设计模式百例 - 合成模式
组合模式(Composite Pattern),又叫部分整体模式,依据树形结构来组合对象,是用来表示部分以及整体层次的一种递归式结构的模式。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。原创 2017-12-02 12:53:25 · 314 阅读 · 0 评论 -
Java设计模式百例 - 访问者模式
在访问者模式(Visitor Pattern)中,通过一个访问者类,来封装对数据结构中不同类型元素的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。原创 2018-01-03 23:46:40 · 473 阅读 · 1 评论