计划模式大汇总

手机游戏开发者 2024-9-22 18:15:54 99 0 来自 中国
* [一、概述]    * [二、创建型]    * [1. 单例(Singleton)]    * [2. 简朴工厂(Simple Factory)]    * [3. 工厂方法(Factory Method)]    * [4. 抽象工厂(Abstract Factory)]    * [5. 天生器(Builder)]    * [6. 原型模式(Prototype)]    * [三、运动型]    * [1. 责任链(Chain Of Responsibility)]    * [2. 下令(Command)]    * [3. 表明器(Interpreter)]    * [4. 迭代器(Iterator)]    * [5. 中介者(Mediator)]    * [6. 备忘录(Memento)]    * [7. 观察者(Observer)]    * [8. 状态(State)]    * [9. 策略(Strategy)]    * [10. 模板方法(Template Method)]    * [11. 访问者(Visitor)]    * [12. 空对象(Null)]    * [四、布局型]    * [1. 适配器(Adapter)]    * [2. 桥接(Bridge)]    * [3. 组合(Composite)]    * [4. 装饰(Decorator)]    * [5. 表面(Facade)]    * [6. 享元(Flyweight)]    * [7. 代理(Proxy)]    * [参考资料]一、概述

计划模式是办理题目标方案,学习现有的计划模式可以做到经验复用。
拥有计划模式词汇,在沟通时就能用更少的词汇来讨论,而且不须要相识底层细节。
二、创建型

1. 单例(Singleton)

Intent

确保一个类只有一个实例,并提供该实例的全局访问点。
Class Diagram

使用一个私有构造函数、一个私有静态变量以及一个公有静态函数来实现。
私有构造函数包管了不能通过构造函数来创建对象实例,只能通过公有静态函数返回唯一的私有静态变量。
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/eca1f422-8381-409b-ad04-98ef39ae38ba.png"/> </div>

Implementation

Ⅰ 懒汉式-线程不安全

以下实现中,私有静态变量 uniqueInstance 被耽误实例化,如许做的利益是,如果没有效到该类,那么就不会实例化 uniqueInstance,从而节省资源。
这个实如今多线程环境下是不安全的,如果多个线程可以大概同时进入 if (uniqueInstance == null) ,而且此时 uniqueInstance 为 null,那么会有多个线程实行 uniqueInstance = new Singleton(); 语句,这将导致实例化多次 uniqueInstance。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-23 17:32, Processed in 0.138319 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表