
设计模式
文章平均质量分 94
wuyongde0922
这个作者很懒,什么都没留下…
展开
-
策略模式与责任链模式详解
优点:符合开闭原则避免使用多重条件判断,如:if…else if…,switch使用策略模式可以提高算法的保密性和安全性。缺点:客户端必须要知道所有的策略,并且自行选择使用哪一个策略。可以通过字典表配置成枚举参数,当用户点击时,弹出所有策略。任选一个。代码中会增加非常多的策略类,增加维护难度。定义:Chain of Responsibility Pattern,是将链中每一个节点看作是一个对象,每个节点处理的请求均不同,且内部自动维护一个下一节点的对象。转载 2023-05-16 09:47:59 · 966 阅读 · 0 评论 -
观察者模式
简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者对象能够自动更新。 观察者模式的结构 观察者(Observer)模式是对象的行为型模式,又叫做发表-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-收听者(Sou转载 2014-05-17 15:44:27 · 548 阅读 · 0 评论 -
适配器模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述适配器(Adapter)模式的: 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 适配器模式的用途 用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极外,还有一个地极。而有些地方的电源插座却只有两极,没有地极。电源插座与笔记本电脑的电源插头不匹转载 2014-05-18 15:33:31 · 578 阅读 · 0 评论 -
建造者模式(Builder Pattern)
1.概念 将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 [构建与表示分离,同构建不同表示] 与抽象工厂的区别:在建造者模式里,有个指导者,由指导者来管理建造者,用户是与指导者联系的,指导者联系建造者最后得到产品。即建造模式可以强制实行一种分步骤进行的建造过程。 建造模式是将复杂的内部创建封装在内部,对于外部调用的人来说,只需要传入建造者和建造工具转载 2014-05-17 18:05:04 · 563 阅读 · 0 评论 -
装饰者模式(带例子)
装饰模式的结构 装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功能加以扩展。 装饰模式的类图如下: 在装饰模式中的角色有: ● 抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。 ● 具体构件(Con转载 2014-05-18 16:46:39 · 4488 阅读 · 0 评论 -
工厂模式
Java工厂模式 看了这么多关于工厂模式的讲解,还是觉得这篇文章讲的好理解,贴出来和大家分享分享。 一、引子 话说十年前,有一个****户,他家有三辆汽车——Benz奔驰、Bmw宝马、Audi奥迪,还雇了司机为他开车。不过,****户坐车时总是怪怪的:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上Audi说“开奥迪车!”。你一定说:这人转载 2014-05-17 16:24:23 · 474 阅读 · 0 评论 -
设计模式之单例模式
转载请注明出处:http://cantellow.iteye.com/blog/838473 第一种(懒汉,线程不安全): Java代码 public class Singleton { private static Singleton instance; private Singleton (){} public stati转载 2014-05-17 15:41:42 · 571 阅读 · 0 评论 -
桥接模式
桥模式:将某个问题抽象的不同形式分别与该问题的具体实现部分相分离,使他们都可以独立变化,并能够动态结合。 例如电视厂商海尔,长虹生产21寸,29寸电视机。从这里要将它们分离出来,就用到桥模式。电视机与电视机生产厂商挂桥,从而,分离出不同厂商的实现,与不同电视机型号的实现. 下面看下uml 从上图可以看出,将实际抽象分离出来。 看下代码 创建电视机转载 2014-05-18 16:25:48 · 682 阅读 · 0 评论 -
代理模式
1,什么是代理模式? 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。 2,策略模式有什么好处? 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 3,代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代理对象的共同接口; 代理角色:代理对象角色内部含有对真实对象的引用,从而可以转载 2014-05-21 18:21:23 · 501 阅读 · 0 评论