• Silenteress 分享于2017-05-31 被收藏0次 0人推荐 0条评论
    一.JAVA的动态代理(比较官方说法)  代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。  代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提  供特定的服务。  按照代理的创建时期,代理类可以分为两种。  静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类
  • sky dream 分享于2017-05-31 被收藏0次 0人推荐 0条评论
    一、简介1.定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示2.相关角色Builder:生成器接口,定义创建Product所需各个部件方法的接口ConcreteBuilder:具体生成器的实现,实现各个部件的创建,并负责组装Product对象的各个部件,同时还提供一个让用户获取组装完成后的产品对象的方法Director:指导者,主要用来使用Builder接口,以一个统一的过程来创建所需要的Product对象Product:产品,表示被生成器构建的复杂对象,包含多个部件
  • zhxu 分享于2017-05-14 被收藏0次 0人推荐 0条评论
    GOF根据模式的目标将模式分为三个类目:创建型、行为型和结构型。 1 创建型模式 创建型模式设计对象的实例化,这类模式的特点是,不让用户依赖于对象的创建或排列方式,避免用户直接使用new运算符创建对象。  GOF的23中模式中的下列5种模式属于创建型模式:(1)工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。(2)抽象工厂模式:提供一个创建一系列或相互依赖对象的接口,而无须指定它们具体的类。(3)生成器模式:将一个复杂
  • 無. 分享于2017-01-30 被收藏0次 0人推荐 0条评论
    1.1概述   在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先保存的状态。这就是备忘录模式的定义。 对象的状态依赖于它的变量的取值情况,对象在程序运行期间的各个时刻可能具有不同的状态。在某些应用中,程序可能需要使用一种合理的方式来保存对象在某一时刻的状态,以便在需要时,对象能恢复到原先保存的状态。在备忘录模式中,称需要保存状态的对象为“原发者”,称负责保存原发者状态的对象为“备忘录”,称负责管理备忘录的对象为“负责人”。备忘录模式要求
  • 心懒意怯怯 分享于2017-01-29 被收藏0次 0人推荐 0条评论
    1.1概述   表示将一个作用于某对象结构中的各个元素的操作。它可以在不改变各个元素的类的前提下定义作用于这些元素的新操作。这就是访问者模式的定义。  编写类的时候,可能在该类中编写了若干个实例方法,该类的对象通过调用这些实例方法操作其成员变量表明所产生的行为。在某些设计中,可能需要定义作用于类的成员变量的新操作,而且这个新操作不应当由该类中的某个实例方法来承担。 例如,有一个电表(Ammeter)类,在电表类中,electricAmount成员变量的值表示用电量,showElectricAmo
  • 旱獭妞儿 分享于2017-01-17 被收藏0次 0人推荐 0条评论
    1.1概述  给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。这就是解释器模式的定义。 对于某些问题,我们可能希望用简单的语言来描述,即希望用简单的语言来实现一些操作,比如用简单语言实现简单的翻译操作,用户输入Teacher drink water,程序输出“老师喝水”。学习使用解释器模式需要用到一些形式语言的知识,和编译原理课程中相关知识点比较接近,个人觉得编译原理中相关理论知识比较晦涩,在此处就不继续往下细究具体原理,有兴趣的同学可以去看一看编
  • Gundam什么的 分享于2017-01-10 被收藏0次 0人推荐 0条评论
    1.1概述   保证一个类仅有一个实例,并提供一个访问它的全局访问点。这就是单件模式的定义。  在某些情况下,我们可能需要某个类只能创建一个对象,即不让用户用该类实例化出多于两个的实例。 例如,在一个公文管理系统中,公文类的实例“公文文件”,需要将公章类的实例作为自己的一个成员,以表明自己是一个有效的公文文件,那么系统的设计者就需要保证公章类只有一个实例,不能允许用户使用公章类的构造方法再创建出第2个实例。 单件模式是关于怎样设计一个类,并使该类只有一个实例的成熟模式,该模式的关键是将类的构造方
  • SEASON 分享于2017-01-10 被收藏0次 0人推荐 0条评论
    1.1概述   将一个复杂对象的构建与它的表示分离,使同样的构建过程可以创建不同的表示。这就是生产器模式的定义。 如果一个类中有若干个成员变量是其他类声明的对象,那么该类创建的对象就可以包含若干个其他对象作为其成员。习惯上把一个对象中的成员对象称作它的组件,例如,几何(Geometry)类含有三角形(Triangle)类、矩形(Rectangle)类和圆(Circle)类声明的对象,那么几何类就可以创建一个由三角形、矩形和圆形组成的几何图形,三角形、长方形和圆形就是当前几何图形中的组件。  但是
  • 飞猛先生泪轻柔 分享于2017-01-10 被收藏0次 0人推荐 0条评论
    1.1概述   提供一个创建一系列或相互依赖对象的接口,而无须指定他们具体的类。这就是抽象工厂模式的定义。 设计某些系统时可能需要为用户提供一系列相关的对象,但系统不希望用户直接使用new运算符实例化这些对象,而是应当由系统来控制这些对象的创建,否则用户不仅要清楚地知道使用哪些类来创建这些对象,而且还必须要清楚对象之间是如何关联的,使得用户的代码和这些类形成紧耦合、缺乏弹性、不利于维护。     图一:兵工厂与枪械、子弹关系示意图(PS:仅仅作为示意图,不要纠结哟)  当系统准备为用户提供一系列
  • 临渊羡鱼 分享于2017-01-05 被收藏0次 0人推荐 0条评论
    1.1概述   用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。这就是中介者模式的定义。  一个对象含有另一个对象的引用是面向对象中经常使用的方式,也是面向对象所提倡的,即少用继承多用组合。但是怎样合理地组合对象对系统今后的扩展、维护和对象的复用是至关重要的,这也正是学习设计模式的重要原因。  例如,在一个房屋租赁系统中,有很多对象,有些对象是求租者,有些是出租者,如果要求他们之间必须成为朋友才能进行有关租赁的操作,显

也许你感兴趣

换一批