摘要: 前端控制器设计模式用于提供集中式请求处理机制,以便所有请求将由单个处理程序处理。此处理程序可以执行请求的身份验证/授权/记录或跟踪,然后将请求传递到相应的处理程序。 以下是这种类型的设计模式的实体。 前端控制器 - 用于处理应用程序(基于Web或基于桌面)的各种请求的单个处理程序。 分发器 - 前端 阅读全文
posted @ 2017-08-11 15:02 SXT 阅读(341) 评论(1) 推荐(0)
摘要: 数据访问对象模式或DAO模式用于将低级数据访问API或操作与高级业务服务分离。 以下是数据访问对象模式的参与者。 数据访问对象接口 - 此接口定义要对模型对象执行的标准操作。 数据访问对象具体类 - 此类实现上述接口。 这个类负责从数据源获取数据,数据源可以是数据库/xml或任何其他存储机制。 模型 阅读全文
posted @ 2017-08-11 14:49 SXT 阅读(151) 评论(0) 推荐(0)
摘要: 组合实体模式用于EJB持久化机制。 组合实体是表示对象图的EJB实体bean。 当组合实体更新时,内部依赖对象bean将自动更新为由EJB实体bean管理。 以下是组合实体Bean的参与者。 组合实体 - 它是主要的实体bean。 它可以是粗粒度的或可以包含用于持久性目的的粗粒度对象。 粗粒对象 - 阅读全文
posted @ 2017-08-11 14:48 SXT 阅读(150) 评论(0) 推荐(0)
摘要: 业务代理模式用于解耦表示层和业务层。 它基本上用于减少表示层代码中的业务层代码的通信或远程查找功能。在业务层有以下实体。 客户端(Client) - 表示层代码可以是JSP,servlet或UI java代码。 业务代理 - 为客户端实体提供对业务服务方法的访问的单个入口点类。 查找服务 - 查找服 阅读全文
posted @ 2017-08-11 14:45 SXT 阅读(175) 评论(0) 推荐(0)
摘要: 在模板模式中,抽象类公开了定义的方法/模板来执行它的方法。 它的子类可以根据需要重写方法实现,但调用的方式与抽象类定义的方式相同。 此模式属于行为模式类别。 实现实例 在这个实现实例中,将创建一个Game抽象类,它定义了一个模板方法设置为final的操作,因此它不能被覆盖。 Cricket 和 Fo 阅读全文
posted @ 2017-08-11 14:41 SXT 阅读(87) 评论(0) 推荐(0)
摘要: 在访问者模式中,使用访问者类来改变元素类的执行算法。 通过这种方式,元素的执行算法可以随访问者变化而变化。 此模式属于行为模式类别。 根据每个模式,元素对象必须接受访问者对象,以便访问者对象处理对元素对象的操作。 实现实例 在这个实现的示例中,将创建一个叫作ComputerPart的接口,并定义接受 阅读全文
posted @ 2017-08-11 14:41 SXT 阅读(133) 评论(0) 推荐(0)
摘要: 在策略模式中,可以在运行时更改类行为或其算法。 这种类型的设计模式属于行为模式。 在策略模式中,创建表示各种策略对象和其行为根据其策略对象而变化的上下文对象。 策略对象更改上下文对象的执行算法。 实现实例 在这个示例中,将创建一个 Strategy 接口,定义实现策略接口的操作和具体策略类。 上下文 阅读全文
posted @ 2017-08-11 14:40 SXT 阅读(130) 评论(0) 推荐(0)
摘要: 在“空对象”模式中,空对象将替换NULL对象实例的检查。而不是检查一个空值,Null对象反映一个无关的关系(即什么也不做)。 这种Null对象还可以用于在数据不可用时提供默认行为。 在空对象模式(Null Object模式)中创建一个抽象类,指定要执行的各种操作。扩展此类的具体类和一个null对象类 阅读全文
posted @ 2017-08-11 14:37 SXT 阅读(175) 评论(0) 推荐(0)
摘要: 变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。 因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。 Java 的两大数据类型: 内置数据类型 引用数据类型 内置数据类型 引 阅读全文
posted @ 2017-08-11 14:26 SXT 阅读(105) 评论(0) 推荐(0)
摘要: Java作为一种面向对象语言。支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 多态 继承 封装 抽象 类 对象 实例 方法 重载 本节我们重点研究对象和类的概念。 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品 阅读全文
posted @ 2017-08-11 14:19 SXT 阅读(116) 评论(0) 推荐(0)
摘要: 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 类:类是一个模板,它描述一类对象的行为和状态。 阅读全文
posted @ 2017-08-11 14:07 SXT 阅读(101) 评论(0) 推荐(0)
摘要: java.util.concurrent.atomic.AtomicReferenceArray类提供了可以原子读取和写入的底层引用数组的操作,并且还包含高级原子操作。 AtomicReferenceArray支持对底层引用数组变量的原子操作。 它具有获取和设置方法,如在变量上的读取和写入。 也就是 阅读全文
posted @ 2017-08-11 11:46 SXT 阅读(465) 评论(0) 推荐(0)
摘要: java.util.concurrent.atomic.AtomicIntegerArray类提供了可以以原子方式读取和写入的底层int数组的操作,还包含高级原子操作。 AtomicIntegerArray支持对底层int数组变量的原子操作。 它具有获取和设置方法,如在变量上的读取和写入。 也就是说 阅读全文
posted @ 2017-08-11 11:38 SXT 阅读(253) 评论(0) 推荐(0)
摘要: java.util.concurrent.atomic.AtomicLongArray类提供了可以原子读取和写入的底层long类型数组的操作,并且还包含高级原子操作。 AtomicLongArray支持对基础long类型数组变量的原子操作。 它具有获取和设置方法,如在变量上的读取和写入。 也就是说, 阅读全文
posted @ 2017-08-11 11:32 SXT 阅读(146) 评论(0) 推荐(0)
摘要: java.util.concurrent.atomic.AtomicReference类提供了可以原子读取和写入的底层对象引用的操作,还包含高级原子操作。 AtomicReference支持对底层对象引用变量的原子操作。 它具有获取和设置方法,如在易变的变量上的读取和写入。 也就是说,一个集合与同一 阅读全文
posted @ 2017-08-11 11:23 SXT 阅读(208) 评论(0) 推荐(0)
摘要: java.util.concurrent.atomic.AtomicBoolean类提供了可以原子读取和写入的底层布尔值的操作,并且还包含高级原子操作。 AtomicBoolean支持基础布尔变量上的原子操作。 它具有获取和设置方法,如在volatile变量上的读取和写入。 也就是说,一个集合与同一 阅读全文
posted @ 2017-08-11 11:18 SXT 阅读(425) 评论(0) 推荐(0)
摘要: 在java.util.concurrent.atomic包里,多了一批原子处理类。AtomicBoolean、AtomicInteger、AtomicLong、AtomicReference。主要用于在高并发环境下的高效程序处理,来帮助我们简化同步处理. AtomicInteger一个提供原子操作的 阅读全文
posted @ 2017-08-11 11:11 SXT 阅读(191) 评论(0) 推荐(0)
摘要: java.util.concurrent.atomic.AtomicLong类提供了可以被原子地读取和写入的底层long值的操作,并且还包含高级原子操作。 AtomicLong支持基础long类型变量上的原子操作。 它具有获取和设置方法,如在volatile变量上的读取和写入。 也就是说,一个集合与 阅读全文
posted @ 2017-08-11 11:08 SXT 阅读(149) 评论(0) 推荐(0)
摘要: java.util.concurrent.locks.Condition接口提供一个线程挂起执行的能力,直到给定的条件为真。 Condition对象必须绑定到Lock,并使用newCondition()方法获取对象。 Condition类的方法 以下是Condition类中可用的重要方法的列表。 实 阅读全文
posted @ 2017-08-11 10:51 SXT 阅读(104) 评论(0) 推荐(0)
摘要: java.util.concurrent.locks.ReadWriteLock接口允许一次读取多个线程,但一次只能写入一个线程。 读锁 - 如果没有线程锁定ReadWriteLock进行写入,则多线程可以访问读锁。 写锁 - 如果没有线程正在读或写,那么一个线程可以访问写锁。 读锁 - 如果没有线 阅读全文
posted @ 2017-08-11 10:35 SXT 阅读(336) 评论(0) 推荐(0)
摘要: java.util.concurrent.locks.Lock接口用作线程同步机制,类似于同步块。新的锁定机制更灵活,提供比同步块更多的选项。 锁和同步块之间的主要区别如下: 序列的保证 - 同步块不提供对等待线程进行访问的序列的任何保证,但Lock接口处理它。 无超时,如果未授予锁,则同步块没有超 阅读全文
posted @ 2017-08-11 10:32 SXT 阅读(116) 评论(0) 推荐(0)
摘要: 备忘录模式(Memento Pattern)用来恢复一个对象的状态到以前的状态。 备忘录模式下属于行为模式的类别。 实现实例 在这个示例中,备忘录模式(Memento Pattern)使用三个操作者类。 Memento类中包含要恢复的对象的状态。 创建者在Memento对象中创建和存储状态,Care 阅读全文
posted @ 2017-08-11 10:02 SXT 阅读(99) 评论(0) 推荐(0)
摘要: 解释器模式提供了一种评估计算语言语法或表达式的方法。 这种类型的模式属于行为模式。 这种模式涉及实现一个表达式接口,它告诉解释一个指定的上下文。 此模式用于SQL解析,符号处理引擎等。 实现示例 我们将创建一个接口Expression并且在具体的类实现这个Expression接口。 定义了一个Ter 阅读全文
posted @ 2017-08-11 09:56 SXT 阅读(164) 评论(0) 推荐(0)
摘要: 用于减少多个对象或类之间的通信复杂性。 此模式提供了一个中介类,它通常处理不同类之间的所有通信,并支持通过松散耦合来维护代码。中介者模式属于行为模式类别。 实现实例 在这里通过一个聊天室的示例来演示中介者模式的使用,在聊天室中,多个用户可以向聊天室发送消息,并且聊天室的责任是向所有用户显示消息。在示 阅读全文
posted @ 2017-08-11 09:54 SXT 阅读(141) 评论(0) 推荐(0)
摘要: 迭代器模式是Java和.Net编程环境中非常常用的设计模式。此模式用于以顺序方式访问集合对象的元素,而不需要知道其底层表示。 迭代器模式属于行为模式类别。 实现实例 在这个实例中,将创建一个Iterator接口,它陈述了一个导航方法和一个Container接口,以及返回迭代器。 实现Containe 阅读全文
posted @ 2017-08-11 09:51 SXT 阅读(168) 评论(0) 推荐(0)
摘要: 命令模式是数据驱动设计模式,属于行为模式类别。 请求作为命令包装在一个对象下,并传递给调用器对象。 调用者对象查找可以处理此命令的适当对象,并将命令传递到执行命令的相应对象。 实现实例 在这个示例中,创建了一个作为命令的接口- Order,同时也创建了一个Stock类作为请求。 有具体的命令类Buy 阅读全文
posted @ 2017-08-11 09:44 SXT 阅读(112) 评论(0) 推荐(0)
摘要: 顾名思义,责任模式链为请求创建一系列接收者对象。 此模式基于请求的类型将请求的发送方和接收方分离。 这种模式是行为模式。 在这种模式中,通常每个接收器包含对另一个接收器的引用。如果一个对象不能处理请求,则它将相同的对象传递给下一个接收者等等。 实现实例 在这个示例中,创建了一个具有日志级别的抽象类A 阅读全文
posted @ 2017-08-11 09:38 SXT 阅读(235) 评论(0) 推荐(0)
摘要: 享元模式(Flyweight Pattern)主要用于减少创建的对象数量,并减少内存占用并提高性能。 这种类型的设计模式属于结构模式,因为该模式提供了减少对象计数的方法,从而改善应用的对象结构。 享元模式(Flyweight Pattern)尝试通过存储已经存在的类似对象以重用,并在找不到匹配的对象 阅读全文
posted @ 2017-08-11 09:36 SXT 阅读(138) 评论(0) 推荐(0)
摘要: 门面模式(或外观模式)隐藏系统的复杂性,并为客户端提供一个客户端可以访问系统的接口。 这种类型的设计模式属于结构模式,因为此模式为现有系统添加了一个接口以隐藏其复杂性。门面模式涉及一个类,它提供客户端所需的简化方法和委托调用现有系统类的方法。 实现实例 在这个实例中将创建一个Shape接口并实现Sh 阅读全文
posted @ 2017-08-11 09:32 SXT 阅读(129) 评论(0) 推荐(0)
摘要: 组合模式用于需要以同样的方式的方式处理一组对象作为单个对象。组合模式根据树结构组成对象,以表示部分以及整个层次结构。这种类型的设计模式属于结构模式,因为此模式创建了一组对象的树结构。 此模式创建一个包含其自身对象的组的类。 此类提供了修改其相同对象的组的方法。 我们通过以下示例展示组合模式的使用,将 阅读全文
posted @ 2017-08-11 09:22 SXT 阅读(188) 评论(0) 推荐(0)