#设计模式

设计模式学习笔记(二十:享元模式)

1.1概述  运用共享技术有效地支持大量细粒度的对象。这就是享元模式的定义。  一个类中的成员变量表明该类所创建对象所具有的属性,在某些程序设计中可能用一个类创建若干个对象,但是发现这些对象的一个共同特点是它们有一部分属性的取值必须是完全相同的。 例如,一个Car类,其...

设计模式学习笔记(二十一:访问者模式)

1.1概述  表示将一个作用于某对象结构中的各个元素的操作。它可以在不改变各个元素的类的前提下定义作用于这些元素的新操作。这就是访问者模式的定义。  编写类的时候,可能在该类中编写了若干个实例方法,该类的对象通过调用这些实例方法操作其成员变量表明所产生的行为。在某些设计中,可能需...

设计模式学习笔记(二十二:备忘录模式)

1.1概述  在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先保存的状态。这就是备忘录模式的定义。 对象的状态依赖于它的变量的取值情况,对象在程序运行期间的各个时刻可能具有不同的状态。在某些应用中,程序可能需要使用一种合理的方式来...

设计模式学习笔记(二十三:解释器模式)

1.1概述  给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。这就是解释器模式的定义。 对于某些问题,我们可能希望用简单的语言来描述,即希望用简单的语言来实现一些操作,比如用简单语言实现简单的翻译操作,用户输入Teacherdrinkwate...

设计模式学习笔记(总结篇:模式分类)

  GOF根据模式的目标将模式分为三个类目:创建型、行为型和结构型。  创建型模式设计对象的实例化,这类模式的特点是,不让用户依赖于对象的创建或排列方式,避免用户直接使用new运算符创建对象。  GOF的23中模式中的下列5种模式属于创建型模式:(1)工厂方法...

设计模式学习笔记(目录篇)

为了方便查看,特此将设计模式学习笔记系列单独做一个目录。 1  设计模式学习笔记(一:命令模式)2  设计模式学习笔记(二:观察者模式)3  设计模式学习笔记(三:装饰模式)4  设计模式学习笔记(四:策略模式)5 &n...

设计模式 — 简单工厂模式(Simple Factory)

定义:定义一个工厂类,它可以根据参数的不同返回不同类型的实例,被创建的实例通常有公共的父类。模式类型:创建型模型Factory(工厂角色):即工厂类,负责实现创建所有产品实例的内部逻辑;工厂类可以直接被外界调用,创建所需的产品对象;在工厂类中提供了静态的工厂方法FactoryMethod(),它的返回类型为抽象产品Pr...

Struts2是一个基于MVC设计模式的Web应用框架

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2是Struts的下一代产品,是在struts1和WebWork的技术基础上进行了合并的全新的Struts2框架。其全新的...

事件模型指的是对象之间进行通信的设计模式

事件模型指的是对象之间进行通信的设计模式。对象1给对象2发送一个信息相当于对象1引用对象2的方法。模型即是一种设计模式(约定俗成)对象对为三种:①事件源:发出事件者;②事件对象:发出的事件本身;① 事件监听器:提供处理事件指定的方法。 JavaAWT事件模型也称为授权事件模型,指事件可以和监听器之间...

Swing组件都采用MVC设计模式

Swing组件都采用MVC(Model-View-Controller,既模型-视图-控制器)设计模式,从而可以实现GUI组件的显示逻辑和数据逻辑的分离,允许程序员自定义Render来改变GUI组件的显示外观,提供更多的灵活性。1packageCom.SwingTest;2345importjavax.swing.*;...

《图解Java多线程设计模式》之十一:Two-Phase Termination模式

一,Two-PhaseTermination模式翻译过来就是:分两阶段终止二,示例程序publicclassCountupTreadextendsThread{privatelongcounter=0;privatevolatilebooleanshutdownRequested=false;//中止请求publicv...

《图解Java多线程设计模式》之十:Future模式

一,Future模式假设有一个方法需要花费很长的时间才能获取运行结果。那么,与其一直等待结果,不如先拿一张提货单。获取提货单并不耗费时间。这里提货单就称为Future角色获取Future角色的线程会在稍后使用Future角色来获取运行结果在处理开始时先返回Future角色,等到其他线程出来终止后,在将结果设置到Futu...

《图解Java多线程设计模式》之九:Worker Thread模式

一,WorkerThread模式也叫ThreadPool(线程池模式)二,示例程序情景:一个工作车间有多个工人处理请求,客户可以向车间添加请求。请求类:Request定义了请求的信息和处理该请求的方法车间类:Channel定义了车间里的工人,存放请求的容器。接收请求的方法,处理完请求后取出请求的方法客户类:Client...

《图解Java多线程设计模式》之八:Thread-Per-Message模式

一,Thread-Per-Message模式翻译过来就是每个消息一个线程。message可以理解为命令,请求。为每一个请求新分配一个线程,由这个线程来执行处理。Thread-Per-Message模式中,请求的委托端和请求的执行端是不同的线程,请求的委托端会告诉请求的执行端线程:这项工作就交给你了二,示例程序Host类...

《图解Java多线程设计模式》之七:Read-Write Lock模式

一,Read-WriteLock模式在Read-WriteLock模式中,读取操作和写入操作是分开考虑的。在执行读取操作之前,线程必须获取用于读取的锁。在执行写入操作之前,线程必须获取用于写入的锁。所以:当一个线程在读取时,其他线程可以读取,但是不可以写入。当一个线程正在写入时,其他线程不可以读取或写入。因为执行互斥处...
首页上一页...678910...下一页尾页