作者:Grey 原文地址: 设计模式学习笔记 UML和代码 UML图 代码 单例模式 单例模式是创建型模式。 单例的定义:“一个类只允许创建唯一一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。”定义中提到,“一个类只允许创建唯一一 ...
. 概述 为其它对象提供一种代理以控制对这个对象的访问。 解决的问题:如果直接访问对象比较困难,或直接访问会给使用者或系统带来一系列问题。这样对于客户端 调用者 来说,就不需要直接与真实对象进行交互,解除了调用者与真实对象的耦合。 . 模式中的角色 . 抽象实体 Subject :定义了真实实体 RealSubject 和代理 Proxy 的公共接口,这样就在任何时候使用真实实体 RealSub ...
2012-07-04 11:40 1 4894 推荐指数:
作者:Grey 原文地址: 设计模式学习笔记 UML和代码 UML图 代码 单例模式 单例模式是创建型模式。 单例的定义:“一个类只允许创建唯一一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。”定义中提到,“一个类只允许创建唯一一 ...
面试时面试官问了我一个问题,事务有哪些基本特性?我不假思索地回答:原子性,一致性,隔离性和持久性,并对这四个特性的概念做了描述: 原子性:是指每个事务都是一个不可分割的最小单元,事务要么成功提交,要 ...
FlyWeight模式 一 意图 运用共享技术有效地支持大量细粒度的对象。 二 动机 有些应用程序得益于在其整个设计过程中采用对象技术,但简单化的实现代价极大。 使用面向对象的抽象化,可能会造成庞大的对象群,造成空间的巨大消耗,而影响性能。 在文档编辑器例子中如果一个字 ...
Decorator模式 一 意图 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。——包装器Wrapper。 二 动机 有时我们希望给某个对象而不是整个类添加一些功能。 例如,一个图形用户界面工具箱允许你对任意一个用户界面组件添加 ...
1. 概述 将抽象部分(Abstraction)与实现部分(Implementor)分离,使它们可以独立地变化。 2. 解决的问题 在软件系统中,有些类型由于自身的逻辑,它具有两个或多个维度的变化。为了解决这种多维度变化,又不引入复杂度,这就要使用Bridge模式。 3. 模式 ...
1. 概述 将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。 2. 建造者模式中的角色 2.1 建造者(Builder):为创建一个产品对象的各个部件指定抽象接口。 2.2 具体建造者(ConcreteBuilder):实现 ...
1. 描述: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 2. 单例模式主要有3个特点,: 2.1 单例类确保自己只有一个实例。 2.2 单例类必须自己创建自己的实例。 2.3 单例类必须为其他对象提供唯一的实例。 3. 实现方式:懒汉单例类和饿汉单例类 3.1 懒汉式 ...
Facade模式 一 意图 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 二 动机 将一个系统划分成为若干个子系统有利于降低系统的复杂性。一个常见的设计目标是使子系统间的通信和相互依赖关系达到最小。 达到该目标 ...