设计模式
炸斯特
2015年毕业于东大,目前在阿里。全栈工程师。如果文章对你有所帮助,请关注支持下我的公众号“贞会说”(ZhenHuiShuo)。我一直在记录自己的职场经验和总结,来看看,对你有用,人生就怕走了弯路,有困惑来交流一下,少走弯路,很重要。
展开
-
Java设计模式之责任链模式、职责链模式
继续介绍23种设计模式系列,本文介绍的是职责链模式。原创 2015-04-18 07:41:22 · 47136 阅读 · 31 评论 -
JAVA设计模式之代理模式
【代理模式应用场景举例】比如在玩“极品飞车”这款游戏,如果游戏者手中的金钱达到了一定的数量就可以到车店买一部性能更高的赛车,那么这个卖车的“车店”就是一个典型的“汽车厂家”的“代理”,他为汽车厂家“提供卖车的服务”给有需求的人士。从面向对象的方面考虑,“销售汽车的代理”也是一个对象,那么这个对象也具有一定的状态,在软件项目中这个对象也具有管理财务进销存的基本功能,那么在设计时就要以面向OOP编原创 2014-04-05 07:07:09 · 40547 阅读 · 22 评论 -
JAVA设计模式初探之装饰者模式
这个模式花费了挺长时间,开始有点难理解,其实就是定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。设计初衷:通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性,同时,使用继承实现功能拓展,我们必须可预见这些拓展功能,这些功能是编译时就确定了,是静态的。...原创 2014-04-01 09:07:37 · 112836 阅读 · 61 评论 -
JAVA设计模式之原型模式
定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。类型:创建类模式类图:原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件:实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。在ja原创 2014-04-08 08:22:45 · 29096 阅读 · 14 评论 -
JAVA设计模式初探之组合模式
先看看组合模式的定义吧:“将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。” 就拿剪发办卡的事情来分析一下吧。 首先,一张卡可以在总部,分店,加盟店使用,那么总部可以刷卡,分店也可以刷卡,加盟店也可以刷卡,这个属性结构的店面层级关系就明确啦。 那么,总店刷卡消费与分店刷卡消费是一样的道理,那么总店与分店对会员卡的使用原创 2014-03-31 08:40:06 · 44835 阅读 · 15 评论 -
JAVA设计模式初探之适配器模式
1. 概述 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。2. 解决的问题 即Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 下面是两个非常形象的例子 3. 模式中的角色 3.1 目标接口(Target):客户所期待的接原创 2014-03-29 07:53:18 · 76281 阅读 · 15 评论 -
Java设计模式之迭代子模式
本文继续介绍23种设计模式系列之观察者模式。定义在软件构建过程中,集合对象内部结构常常变化各异,但对于这些集合对象,我们希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素;同时这种“透明遍历”也为同一种算法在多种集合对象上进行操作提供了可能。使用面向对象技术将这种遍历机制抽象为“迭代器对象”为“应对变化中的集合对象”提供了一种优雅的方式。迭代子(Iterator)模式又叫游标原创 2015-04-17 07:26:39 · 15594 阅读 · 4 评论 -
JAVA设计模式之门面模式(外观模式)
医院的例子 现代的软件系统都是比较复杂的,设计师处理复杂系统的一个常见方法便是将其“分而治之”,把一个系统划分为几个较小的子系统。如果把医院作为一个子系统,按照部门职能,这个系统可以划分为挂号、门诊、划价、化验、收费、取药等。看病的病人要与这些部门打交道,就如同一个子系统的客户端与一个子系统的各个类打交道一样,不是一件容易的事情。 首先病人必须先挂号,然后门诊。如果医生要求化验,病人必原创 2014-04-02 07:16:24 · 48578 阅读 · 29 评论 -
JAVA设计模式之享元模式
解释一下概念:也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。比如说一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义52个对象。如果有一个1M的文本,那么字母是何其的多,如果每个字母都定义一个对象那么内存早就爆了。那么如果要是每个字母都共享一个对象,那么就大大节约了资源。 在Flyweight模式中,由于要产生各种各样原创 2014-04-04 07:34:52 · 45289 阅读 · 20 评论 -
JAVA设计模式之抽象工厂模式
本文属于23种设计模式系列。继续前面简单工厂模式和工厂方法模式的例子,以汽车配件制造介绍抽象工厂模式。原创 2015-04-11 08:26:32 · 103637 阅读 · 52 评论 -
Java设计模式之命令模式
继续23种设计模式系列,本文介绍命令模式。原创 2015-04-19 08:31:28 · 32275 阅读 · 12 评论 -
java设计模式之建造者模式
本文属于23种设计模式系列。 介绍的是建造者模式。原创 2015-04-12 07:59:20 · 48262 阅读 · 18 评论 -
Java设计模式之模板方法模式(Template Method)
本文属于23种设计模式系列,介绍的是模板方法模式。原创 2015-04-15 08:37:27 · 47589 阅读 · 10 评论 -
Java设计模式之策略模式
本文属于23种设计模式系列。 介绍的是策略模式。原创 2015-04-13 07:20:41 · 66693 阅读 · 26 评论 -
Java设计模式之状态模式
本文属于"23种设计模式"系列,介绍状态模式。原创 2015-04-14 07:54:13 · 26869 阅读 · 9 评论 -
Java设计模式之观察者模式
本文继续介绍23种设计模式系列。介绍的是观察者模式。原创 2015-04-16 07:32:51 · 46493 阅读 · 12 评论 -
23种设计模式汇总整理
设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式结构型模式,共七种:适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两类:并发型模式和线程池模式。...原创 2015-04-09 10:57:11 · 273486 阅读 · 46 评论