随笔分类 - 设计模式
摘要:模式定义: [定义]: 将一个请求封装成一个对象,使得你用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 组成: 调用者(Invoker),命令请求(Command,包括接口或抽象,以及实现,待对象化),接收者(实现者 Receiver,包括抽象接口,及实现),
阅读全文
摘要:责任链模式:定义 责任链接模式又称职责链模式,是一种对象的行为模式;它是一种链式结构,每个节点都有可能两种操作,要么处理该请求停止该请求操作,要么把请求转发到下一个节点,让下一个节点来处理请求;该模式定义了一些可能的处理请求的节点对象,请求的起点跟顺序都可能不一样,处理的节点根据请求的不一样而不同;
阅读全文
摘要:迭代子模式:定义 迭代子模式,又称游标模式,是一种用于对聚集进行顺序访问规则的模式,是一种行为模式;它用于提供对聚集对象的一种统一的访问接口,使客户能够在不了解聚集对象内部结构的情况对聚集对象进行访问。它涉及两个部分,一个是聚集对象,一个迭代子对象,迭代对象(Iterator)用于提供访问聚集对象的
阅读全文
摘要:观察者模式:定议定义对象间的一种一对多的关系,当一个对象状态改变时 (一般称为被观察者),依赖于该对象的对象被通知,并更新;观察者模式:说明1. 观察者模式是行为模式,也被称为:发布-订阅模式、模型-视图模式、源-监听器模式、从属者模;2. 面对象过程中观察者模式的组成: 1>. 抽象主题角色:这...
阅读全文
摘要:模板方法模式说明定义:定义方法操作的骨架,把一些具体实现延伸到子类中去,使用得具体实现不会影响到骨架的行为步骤!说明:模式方法模式是一个继承跟复用的典型模式,该模式定义了一个抽象类,Abstract Class,其下定义了一个或多个模板方法,也就是顶级方法,这些方法定义行为的调度步骤,一般是调用抽象...
阅读全文
摘要:策略模式说明定义: 封装一系列的算法,使得他们之间可以相互替换,本模式使用算法独立于使用它的客户的变化。说明:策略模式,是一种组织算法的模式,核心不在于算法,而在于组织一系列的算法,并且如何去使用它;策略模式作用在于,行为实现的不可预见,面对这样的一种变化,我们得思考如何使用程序好维跟扩展,并使得客...
阅读全文
摘要:享元模式说明定义:用于解决一个系统大量细粒度对象的共享问题:关健词:分离跟共享;说明: 享元模式分单纯(共享)享元模式,以及组合(不共享)享元模式,有共享跟不共享之分;单纯享元模式,只包含共享的状态,可共享状态是不可变,不可修改的,这是享元的内部状态;当然有外部状态就有外部状态,外部状态是可变的,不...
阅读全文
摘要:组合模式说明 组合模式用于简单化,一致化对单组件和复合组件的使用;其实它就是一棵树; 这棵树有且只有一个根,访问入口,如果它不是一棵空树,那么由一个或几个树枝节点以及子叶节点组成,每个树枝节点还包含自己的子树枝以及子叶节点; 在面向对象编程中,叶子以及复杂对象(树枝节点)都继承一个接口或抽象类分别实
阅读全文
摘要:桥接模式说明定义:分离抽象化与实现化,使之可以自由独立的变化;说明:由于软件环境需求原因,使得类型抽象具有多种实现以自身变化定义等情况,这使得我们要分离抽象实现与具体实现,使得抽象化与实现化解耦,使之可以分开独立的变化,使得两者可以自由添加各自处理过程实现。桥接模式就可以解决上面的问题,桥接模式的角...
阅读全文
摘要:外观模式说明说明:外观模式是用于由于子系统或程序组成较复杂而提供的一个高层界面接口,使用客户端更容易访问底层的程序或系统接口;外观模式是我们经常使用遇到的模式,我们经常涉及到的功能,可能需要涉及到几个子接口或子系统,而我们的某个功能,可能只需要这向个多个子接口中的一个或几个组成的顺序封装。如果是业务...
阅读全文
摘要:代理模式说明说明:顾名思义就是用一个类来代替另一个类来执行方法功能,这个模式跟装饰模式有点相似,不一样的是,代理模式是代替客户初始化被代理对象类,而装饰模式采用接口或初装饰者参数引用的方式来执行的。在动态面向对象语言里,代理模式即起到控制修饰被代理类的作用,也对被代理类起到了充分的隐藏保护作用;被代...
阅读全文
摘要:装饰者模式说明说明:通一个类来动态的对另一个类的功能对象进行前或后的修饰,给它辅加一些额外的功能; 这是对一个类对象功能的装饰,装饰的类跟被装饰的类,要求拥有相同的访问接口方法(功能),这在动态面向对象类里,一般以实现同一个接口(interface)来约束实现;装饰类的要有对被装饰类的引用,用于在装...
阅读全文
摘要:适配器模式说明说明: 适配器模式,一般是为要使用的接口,不符本应用或本系统使用,而需引入的中间适配层类或对象的情况;场景: 就好比我们买了台手机,买回来后发现,充电线插头是三插头,但家里,只有两插头的口的插座,怎么办?为了方便,也有为能在任何地方都能充上电,就得去买个通用充电适配器; 这样手机才能在...
阅读全文
摘要:原型模式说明说明:使用原型实例来 拷贝 创建新的可定制的对象;新建的对象,不需要知道原对象创建的具体过程;过程:Prototype => new ProtoExam => clone to new Object;使用相关代码:function Prototype() { this.name =...
阅读全文
摘要:建造者模式说明1. 将一个复杂对象的 构造 与它的表示相分离,使同样的创建过程可有不同的表示,这就叫做建造者模式。2. 面向对象语言中的说明,主要角色:1>. Builder 这个接口类,定义这个建造者[工人],统一的可操作的行为方式,它表示一个复杂的结构对象;2>.ConcreteBuilder ...
阅读全文
摘要:单件模式说明1. 说明:单件模式,就是静态化的访问中已经实例化的对象,这个对象只能通过一个唯一的入口访问,已经实例或待实例化的对象;面向对象语言如Java, .Net C#这样的服务端动态语言里,能保证类的操作有顺的进行,避免并行操作使数据发生混乱的情况;2. 单件模式的好处:1>. 减少 new ...
阅读全文
摘要:抽象工厂模式说明1. 工厂方法模式的问题: 在工厂方法模式里,创建类都需要通过 工厂类,如果要扩展程序,就必须修改工厂类,这违背了闭包原则,对扩展开放,对修改关闭;对于设计有一定的问题。2. 如何解决:就要用到抽象工厂模式,就是对功能类单独创建工厂类,这样就不必修改之前的代码,又扩展了功能。3. 工...
阅读全文
摘要:1. 简单工厂模式说明:就是创建一个工厂类,里面实现了所对同一个接口的实现类的创建。但是好像JavaScript 好像没有 接口 这号东西,所以我们去掉接口这个层; 当然,我们这里的 实现类 下的成员变量,方法应该都是一样的;例如:这时举短信发送跟邮件发送的例子;1>. 邮件发送[实现]类funct...
阅读全文
摘要:相关说明1. 界面查看: 吐槽贴:百度地图 api 封装 的实用功能 [源码下载]2. 功能说明: 百度地图整合功能分享修正版[ZMap.js] 实例源码!ZMap.js 本类方法功能大多使用 prototype 原型 实现;包含的功能有:轨迹回放,圈画区域可编辑,判断几个坐标是否在一个圆圈内,生活...
阅读全文
摘要:ZMap 功能说明ZMap.js 本类方法功能大多使用 prototype 原型 实现;包含的功能有:轨迹回放,圈画区域可编辑,判断几个坐标是否在一个圆圈内,生活服务查询,从经纬度获取地址信息,地图工具包括测距,获取面积,以积打印地图,地图全屏,实时路况,坐标是否在polygon区域内,打车方案,经...
阅读全文