• 旱獭妞儿 分享于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概述   用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。这就是中介者模式的定义。  一个对象含有另一个对象的引用是面向对象中经常使用的方式,也是面向对象所提倡的,即少用继承多用组合。但是怎样合理地组合对象对系统今后的扩展、维护和对象的复用是至关重要的,这也正是学习设计模式的重要原因。  例如,在一个房屋租赁系统中,有很多对象,有些对象是求租者,有些是出租者,如果要求他们之间必须成为朋友才能进行有关租赁的操作,显
  • 小满 分享于2017-01-05 被收藏0次 0人推荐 0条评论
    1.1概述  提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露对象的内部表示。这就是迭代器模式的定义。  合理组织数据的结构以及相关操作是程序设计的一个重要方面,比如在程序设计中经常会使用诸如链表、散列表等数据结构。链表和散列表等数据结构都是可以存放若干个对象的集合,其区别是按照不同的方式进行存储对象。我们希望无论何种集合,应当允许程序以一种统一的方式遍历集合中的对象,而不需要知道这些对象在集合中是如何表达及存储的。 例如,一栋楼中居住着张三、李四、王五三个人,分别被安排在不同的房间
  • azazfuyu 分享于2017-01-05 被收藏0次 0人推荐 0条评论
    1.1概述   为系统中的一组接口提供一个一致的界面,Facade(外观)模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。  外观模式是简化用户和子系统进行交互的成熟模式,外观模式的关键是为子系统提供一个称作外观的类。该外观类的实例负责和子系统中的类的实例打交道。当用户想要和子系统中的若干个类的实例打交道时,可以代替地和子系统的外观类的实例打交道。 1.2模式的结构外观模式的结构中包括两种角色:(1)子系统(Subsystem):子系统是若干个类的集合。这些类的实例协同合作为用户提供
  • KatyuSha 分享于2015-11-22 被收藏0次 0人推荐 0条评论
    转载http://www.cnblogs.com/forlina/archive/2011/06/21/2086114.html 一、工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式在《Java与模式》中分为三类:1)简单工厂模式(Simple Factory):不利于产生系列产品;2)工厂方法模式(Factory Method):又称为多形性工厂;3)抽象工厂模式(Abstract Factory):又称为工具箱,产生产品族,但不利于
  • 牧 夜 分享于2015-08-03 被收藏0次 0人推荐 0条评论
    源码均以JDK1.8作为参考1.定义:定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的机构即可重定义该算法的某些特定步骤。2.解析:通用类图:类图解析:模板方法模式非常简单,仅仅使用了Java的继承机制,但它是一个应用非常广泛的模式。2.1.抽象模板(AbstractClass)主要定义了模板中一些基本操作(方法),它的方法分为两类:基本方法:基本方法也叫基本操作,是由子类实现的方法,并且被模板方法被调用。模板方法:可以由一个或几个,一般是一个具体的方法,也就是
  • 摆摆 分享于2015-08-03 被收藏0次 0人推荐 0条评论
    源码均以JDK1.8作为参考1.定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类。2.解析:可能乍一看Factory设计模式的定义有点晕,但是细想想Factory的字面含义,其实也是很好理解的,所谓工厂,就是按照指定的需求生产出一些产品,Factory设计模式也不例外,是按照提供给Factory的需求说明,然后Factory按照需求生产出指定的产品,供调用的应用场景使用。通用类图:类图解析:2.1.Product(抽象产品类)定义产品的共同特性,对产

也许你感兴趣

换一批