随笔分类 -  设计模式

设计模式
java-设计模式汇总整理
摘要:最近,对各种模式做了一个整理,便于后续自用。 1、工厂模式 总结:很好理解,一个接口,2个类实现这个接口,那么可以用“接口 变量=new 接口实现类”的方式调用不同的实现类,调用方式直接使用接口的方法就完成了不同实现类的业务调用。 2、抽象工厂 总结:工厂模式的一种变形。 3、单例模式 总结:防止过 阅读全文

posted @ 2017-12-06 12:06 范兵 阅读(216) 评论(0) 推荐(0) 编辑

java桥接模式
摘要:桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口, 阅读全文

posted @ 2017-12-06 11:43 范兵 阅读(2359) 评论(0) 推荐(0) 编辑

java命令模式
摘要:命令模式很好理解,举个例子,司令员下令让士兵去干件事情,从整个事情的角度来考虑,司令员的作用是,发出口令,口令经过传递,传到了士兵耳朵里,士兵去执行。这个过程好在,三者相互解耦,任何一方都不用去依赖其他人,只需要做好自己的事儿就行,司令员要的是结果,不会去关注到底士兵是怎么实现的。我们看看关系图: 阅读全文

posted @ 2017-12-06 11:41 范兵 阅读(378) 评论(0) 推荐(0) 编辑

java中介者模式
摘要:中介者模式也是用来降低类类之间的耦合的,因为如果类类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。如果使用中介者模式,只需关心和Mediator类的关系,具体类类之间的关系及调度交给Mediator就行,这有点像spring容器的作用。先看看图: Us 阅读全文

posted @ 2017-12-05 21:24 范兵 阅读(200) 评论(0) 推荐(0) 编辑

java访问者模式
摘要:访问者模式把数据结构和作用于结构上的操作解耦合,使得操作集合可相对自由地演化。访问者模式适用于数据结构相对稳定算法又易变化的系统。因为访问者模式使得算法操作增加变得容易。若系统数据结构对象易于变化,经常有新的数据对象增加进来,则不适合使用访问者模式。访问者模式的优点是增加操作很容易,因为增加操作意味 阅读全文

posted @ 2017-12-05 21:20 范兵 阅读(400) 评论(0) 推荐(0) 编辑

java状态模式
摘要:核心思想就是:当对象的状态改变时,同时改变其行为,很好理解!就拿QQ来说,有几种状态,在线、隐身、忙碌等,每个状态对应不同的操作,而且你的好友也能看到你的状态,所以,状态模式就两点:1、可以通过改变状态来获得不同的行为。2、你的好友能同时看到你的变化。看图: State类是个状态类,Context类 阅读全文

posted @ 2017-12-05 21:10 范兵 阅读(934) 评论(1) 推荐(0) 编辑

java责任链模式
摘要:接下来我们将要谈谈责任链模式,有多个对象,每个对象持有对下一个对象的引用,这样就会形成一条链,请求在这条链上传递,直到某一对象决定处理该请求。但是发出者并不清楚到底最终那个对象会处理该请求,所以,责任链模式可以实现,在隐瞒客户端的情况下,对系统进行动态的调整。先看看关系图: Abstracthand 阅读全文

posted @ 2017-12-05 21:03 范兵 阅读(12796) 评论(0) 推荐(0) 编辑

java策略模式(及与工厂模式的区别)
摘要:按一般教程中出现的例子理解: 简单工厂模式:客户端传一个条件进工厂类,工厂类根据条件创建相应的产品类对象,并return给客户端,供客户端使用。即客户端使用的是工厂类生产的产品对象。 策略模式:客户端创建一个Context类对象a(可以看作是工厂模式中工厂类),创建一个策略对象并传参给对象a,然后客 阅读全文

posted @ 2017-12-05 20:56 范兵 阅读(4045) 评论(0) 推荐(0) 编辑

[转]java设计模式
摘要:设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的, 阅读全文

posted @ 2017-12-05 20:47 范兵 阅读(167) 评论(0) 推荐(0) 编辑

java享元模式
摘要:讲解1 享元模式:“享”就是分享之意,指一物被众人共享,而这也正是该模式的终旨所在。 享元模式有点类似于单例模式,都是只生成一个对象来被共享使用。这里有个问题,那就是对共享对象的修改,为了避免出现这种情况,我们将这些对象的公共部分,或者说是不变化的部分抽取出来形成一个对象。这个对象就可以避免到修改的 阅读全文

posted @ 2017-12-05 20:45 范兵 阅读(228) 评论(0) 推荐(0) 编辑

java外观模式
摘要:外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度,该模式中没有涉及到接口,看下类图:(我们以一个计算机的启动过程为例) 我们先看下实现类: [java] view plai 阅读全文

posted @ 2017-12-05 20:33 范兵 阅读(176) 评论(0) 推荐(0) 编辑

java代理模式
摘要:其实每个模式名称就表明了该模式的作用,代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。再如我们有的时候打官司,我们需要请律师,因为律师在法律方面有专长,可以替 阅读全文

posted @ 2017-12-05 20:29 范兵 阅读(180) 评论(0) 推荐(0) 编辑

java装饰者模式
摘要:顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,关系图如下: Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能,代码如下: [java] view plaincop 阅读全文

posted @ 2017-12-05 20:22 范兵 阅读(135) 评论(0) 推荐(0) 编辑

java原型模式
摘要:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。很好理解,例如我们构建了一个LIST或Map对象,基于整个对象进行一个新的对象的克隆,而不是地址引用。 例: List<String> lstA=new ArrayList<>(); List<String> lstB=lstA.clon 阅读全文

posted @ 2017-12-05 20:02 范兵 阅读(178) 评论(0) 推荐(0) 编辑

java建造者模式
摘要:建造者模式在使用过程中可以演化出多种形式: 如果具体的被建造对象只有一个的话,可以省略抽象的Builder和Director,让ConcreteBuilder自己扮演指导者和建造者双重角色,甚至ConcreteBuilder也可以放到Product里面实现。 在《Effective Java》书中第 阅读全文

posted @ 2017-12-05 19:56 范兵 阅读(189) 评论(0) 推荐(0) 编辑

java中观察者模式Observable和Observer
摘要:如果想要实现观察者模式,则必须依靠java.util包中提供的Observable类和Observer接口 观察者设计模式 现在很多的购房者都在关注着房子的价格变化,每当房子价格变化的时候,所有的购房者都可以观察得到。 实际上以上的购房者就是观察者,他们所关注的房价就是被观察者 其中要求,被观察者需 阅读全文

posted @ 2017-12-05 19:26 范兵 阅读(389) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示