设计模式
介绍Java中常用的多种设计模式,快速掌握设计模式,入门等
曾淘
值得去的地方,没有捷径;难走的路,才更值得开始!
展开
-
设计模式之状态模式
概要设计模式是一门艺术,如果真正了解这门艺术,你会发现,世界都将变得更加优美。定义当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类使用场景1.一个对象的行为取决于它的状态,状态改变,行为改变 2.包含大量跟状态相关的条件UML大家看这个类图,看起来更前一篇策略模式差不多,那么这两个之间有什么区别么?1.Status抽象状态,里面做一些状态相关的事情2.AStatus具体的原创 2016-09-08 14:34:15 · 895 阅读 · 0 评论 -
设计模式之策略模式
概要设计模式是一门艺术,如果真正了解这门艺术,你会发现,世界都将变得更加优美。定义策略模式定义了一系列的算法,并将每一个算法封装起来,他们之间还可以相互替换,策略模式独立于使用它的客户而独立变化使用场景1.同一类问题的多种处理方式 2.安全的封装多种同一类型的操作 3.同一抽象类有多个子类,需要if-else来选择具体的子类UML以上类图,非常简单,不用做过多解释,在使用设计模式演示例子之前,大原创 2016-09-07 15:20:06 · 1285 阅读 · 0 评论 -
设计模式之原型模式
概要设计模式是一门艺术,如果真正了解这门艺术,你会发现,世界都将变得更加优美。定义用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象使用场景1.类初始化需要非常多的资源,非常的耗时间 2.通过new产生非常复杂的数据准备或者访问的权限 3.一个对象需要提供给多个调用者使用,并且可能修改其值UML上里面的类图很简单,我就做一个简单的介绍1.IPrototype定义的原型接口,里面就一个原创 2016-09-06 14:25:17 · 873 阅读 · 2 评论 -
设计模式之Builder模式
概要设计模式是一门艺术,如果真正了解这门艺术,你会发现,世界都将变得更加优美。定义将一个复杂的对象的创建和它的表示分离,可以让不同的创建过程,创建出不同的对象使用场景1.相同的构造,不同的执行方法,产生不同的对象,比如:Dialog 2.多种零件,组成一个对象中,产出不同的结果 3.产品复杂,顺序不同,有不懂的结果 4.初始化对象,参数很多,但是有些是默认的,比如ImageLoaderUMLU原创 2016-09-02 14:58:10 · 1020 阅读 · 2 评论 -
设计模式之代理模式(静态代理)
概要设计模式是一门艺术,如果真正了解这门艺术,你会发现,世界都将变得更加优美。定义为其它的对象提供一种代理,以控制这个对象的访问使用场景当不想直接访问某个对象的时候,就可以通过代理1.不想买午餐,同事帮忙带 2.买车不用去厂里,去4s店 3.去代理点买火车票,不用去车站UML介绍下上面的UML图的意思,以购买火车票为例(1)IProxy定义代理的接口,买票(2)ProxyObject代理的对原创 2016-08-30 15:01:19 · 5364 阅读 · 0 评论 -
设计模式之抽象工厂模式
概要设计模式是一门艺术,如果真正了解这门艺术,你会发现,世界都将变得更加优美。定义为创建一组相关或者相互依赖的对象,提供一个接口,但是不需要指定他们的具体类使用场景一组对象具有相同的约束条件的可以使用抽象工厂模式,是不是有点感觉好模糊,有点抽象?简单的来讲,就是两种产品,具有不同的特性比如:1.市场上的白加黑,虽然都能治疗感冒,由不同的商家产出,成分肯定不同,特性效果肯定不一样2.比如奥迪汽车,有q原创 2016-09-01 14:50:11 · 1376 阅读 · 1 评论 -
设计模式之观察者模式
概要设计模式是一门艺术,如果真正了解这门艺术,你会发现,世界都将变得更加优美。定义对象间一对多的关系,当对象发生改变,所有跟其对象依赖的对象都会得到通知,发生改变使用场景1、夜间模式,关联行为场景 2、事件多级触发改变 3、消息交换场景,通知改变UML看上面的图,我们应该能够很清晰的知道,他们之间的情况。(1)被观察者被观察者:只能有一个,它也只有一个方法,那就是通知所有的观察者(2)具体观察原创 2016-08-30 12:02:40 · 1009 阅读 · 0 评论 -
设计模式之代理模式(动态代理)
概要设计模式是一门艺术,如果真正了解这门艺术,你会发现,世界都将变得更加优美。简介在上一篇已经大概讲解了代理模式,相信大家对代理模式有一定的了解了,如果没有不妨先去看看上一篇 设计模式之代理模式(静态代理)相信大家肯定有收获,如果有了一定的基础,那么在去看,相信理解会更加快,而且非常容易明白。代码演示因为上一篇已经比较详细的分析过了,所以直接上代码了(1)定义代理接口package com.zeng原创 2016-08-30 19:05:48 · 2355 阅读 · 4 评论 -
设计模式之工厂方法模式
概要设计模式是一门艺术,如果真正了解这门艺术,你会发现,世界都将变得更加优美。定义定义一个用于创建对象的接口,让其子类去决定实例化那个类使用场景任何使用复杂对象的地方,都可以使用工厂模式UML1.抽象工厂抽象工厂:我们都知道,工厂,一般只有一个作用,那就生产,比如,吉利汽车厂,那就制造吉利汽车,iphone手机制造厂就造iphone等等 所以可以用一个简单的方法概括,就是create();2.具原创 2016-08-31 14:40:27 · 1328 阅读 · 0 评论 -
单例模式,你知道的和你所不一定知道的一切
简介 写这篇文章的目的呢,其实很简单,就是让更多的人明白,更加透彻的理解单例模式,或许大家以为单例模式嘛,大家都会些,简简单单,就那么两种,懒汉式或者说恶汉式,在多了解一点的,懒汉式和恶汉式的结合版,呵呵,貌似好像没有什么卵用,接下来,请看正解。原创 2016-01-02 13:41:16 · 2743 阅读 · 1 评论 -
设计模式之单例模式
单例设计模式1.使用单例设计模式有什么好处呢?答:1.1 控制资源的使用,通过线程同步来控制资源的并发访问 1.2 控制实例产生是数量,达到节约资源的目的 1.3 作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间通信2.单例设计模式的两种格式:(一)第一种:懒原创 2014-11-29 23:57:49 · 635 阅读 · 0 评论