[转载]设计模式的UML图
1.抽象工厂(Abstract Factory)模式
意图:为特定的客户(或情况)提供特定系列的对象。
2.类的适配器(Adapter)模式
意图:将一个类的接口转换成客户希望的另外一个接口。
3.对象的适配器(Adapter)模式
意图:将一个类的接口转换成客户希望的另外一个接口。
4.桥梁(Bridge)/柄体(Handle and Body)模式
意图:将抽象部分与它的实现部分分离,使它们都可以独立地变化。
5.建造(Builder)模式
意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
11.门面(Facade)模式
意图:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
12.工厂方法(Factory Method)/虚拟构造子(virtual Constructor)/多态性工厂(Polymorphic Factory)模式
意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类。
13.享元(Flyweight)模式
意图:运用共享技术有效地支持大量细粒度的对象。
14.解释器(Interpreter)模式
意图:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
15.迭代子(Iterator)/游标(Cursor)模式
意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。
16.调停者(Mediator)模式
意图:用一个中介对象来封装一系列的对象交互。
17.备忘录(Memento)模式
意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。
18.观察者(Observer)模式
意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。
19.原型(Prototype)模式
意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
20.代理(Proxy)模式
意图:为其他对象提供一种代理以控制对这个对象的访问。
21.单例(Singleton)模式
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
22.状态(State)模式
意图:允许一个对象在其内部状态改变时改变它的行为。
23.策略(Strategy)模式
意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。
24.模版方法(Template Method)模式
意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。
25.访问者(Visitor)模式
意图:表示一个作用于某对象结构中的各元素的操作。
==========================================================
[转载]设计模式的UML图的更多相关文章
- 基础设计模式-02 UML图
在学习设计模式的时候,经常会涉及到类,接口之间关系的梳理,UML图就是一个很好的方式: 1.类,抽象类,接口 类: 抽象类: 接口: 1.抽象类斜体表示: 2.“+”表示public,"-& ...
- 设计模式及UML图
UML图 1. 依赖关系
- (转载)23种设计模式的uml图表示及通俗介绍
转载自: https://www.cnblogs.com/ningskyer/articles/3615312.html 0.分类 创建型模式 1.FACTORY2.BUILDER3.FACTORY ...
- 设计模式的uml图的关键(核心)
每个设计模式的关键的部位就是,其变化点.用抽象来封装变化点 如下图的代理模式 关键点就是框图内的subject定义了 实际对象 和代理对象都具有的接口.才形成代理模式
- 《大话设计模式》--UML图
类图分三层: 第一层:类的名称,如果是抽象类,就用斜体显示 第二层:类的特性,通常是字段和属性 第三层:类的操作,通常是方法或行为 接口图:第一行是接口名称,第二行是接口方法 继承:用空心三角形+实线 ...
- 转载:23种常用设计模式的UML类图
转载至:https://www.cnblogs.com/zytrue/p/8484806.html 23种常用设计模式的UML类图 本文UML类图参考<Head First 设计模式>(源 ...
- 23种常用设计模式的UML类图
23种常用设计模式的UML类图 本文UML类图参考<Head First 设计模式>(源码)与<设计模式:可复用面向对象软件的基础>(源码)两书中介绍的设计模式与UML图. 整 ...
- 设计模式-UML图简单介绍
直接上法宝: 1.类(Class) 类图分三层: 第一层显示类的名称,如果是抽象类,则就用斜体显示. 第二层是类的特性,通常就是字段和属性. 第三层是类的操作,通常是方 ...
- 设计模式之UML类图的常见关系
设计模式之UML类图的常见关系 本文来自转载 烧点饭博客 本篇会讲解在UML类图中,常见几种关系: 泛化(Generalization),依赖(Dependency),关联(Association), ...
随机推荐
- Angular 学习笔记——ng-repeat&filter
<!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> <met ...
- Activity和Service交互之bindService(回调更新UI)
一.回调接口 public interface OnProgressListener { void onProgress(int progress); } 二.Service代码 public cla ...
- SQL语句练习手册--第三篇
一.CASE的两种用法 1.1 等值判断->相当于switch case (1)具体用法模板: CASE expression WHEN value1 THEN returnvalue1 WHE ...
- Mac环境下反编译apk
0,工具汇总 我们反编译apk主要使用下面三个工具 apktool:用于获取资源文件 dex2jar:获取源文件jar包 JD-GUI:反编译源文件jar包查看源码 找这些工具时折腾了我点时间.如今把 ...
- C语言可以给字符数组赋值的方法
分类: C 2012-04-06 10:23 4081人阅读 评论(0) 收藏 举报 语言c 学了这么多年的C语言,突然发现连字符串赋值都出错,真的很伤心. char a[10]; 怎么给这个数组赋值 ...
- PHP面试题及答案解析(8)—PHP综合应用题
1.写出下列服务的用途和默认端口. ftp.ssh.http.telnet.https ftp:File Transfer Protocol,文件传输协议,是应用层的协议,它基于传输层,为用户服务,它 ...
- SQLServer 2017安装时的错误:Polybase要求安装Oracle JRE 7更新51或更高版本
2016应该也有这个问题 下载JDK7就可以了(我装10是不可以解决的) 重新运行下 安装完后再安装SSMS 附: MS SQL SERVER 2017全套下载地址(含JDK7.SSMS.KEY): ...
- 征信报告页面的input验证收集
https://ipcrs.pbccrc.org.cn/ function checkLoginName() { var loginName = $.trim($("#loginname&q ...
- Linux mail发送邮件
发送前一天的监控日志#!/bin/bash source /etc/profile time=`date -d '-1 day' "+%Y%m%d"` #判断服务是否已经启动 se ...
- cf 251 B Playing with Permutations 暴力 分类讨论
题链;http://codeforces.com/problemset/problem/251/B B. Playing with Permutations time limit per test 2 ...