面试时面试官问了我一个问题,事务有哪些基本特性?我不假思索地回答:原子性,一致性,隔离性和持久性,并对这四个特性的概念做了描述: 原子性:是指每个事务都是一个不可分割的最小单元,事务要么成功提交,要 ...
作者:Grey 原文地址: 设计模式学习笔记 UML和代码 UML图 代码 单例模式 单例模式是创建型模式。 单例的定义: 一个类只允许创建唯一一个对象 或者实例 ,那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。 定义中提到, 一个类只允许创建唯一一个对象 。那对象的唯一性的作用范围是指进程内只允许创建一个对象,也就是说,单例模式创建的对象是进程唯一的 而非线程 为什么要使 ...
2021-01-13 20:14 0 354 推荐指数:
面试时面试官问了我一个问题,事务有哪些基本特性?我不假思索地回答:原子性,一致性,隔离性和持久性,并对这四个特性的概念做了描述: 原子性:是指每个事务都是一个不可分割的最小单元,事务要么成功提交,要 ...
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模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 二 动机 将一个系统划分成为若干个子系统有利于降低系统的复杂性。一个常见的设计目标是使子系统间的通信和相互依赖关系达到最小。 达到该目标 ...
1. 概述 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 2. 解决的问题 主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。 3. 模式中的角色 3.1 ...