51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#大话设计模式
设计模式——观察者模式
观察者模式,用于一对多关系对象之间消息传递。观察者模式的实现需要以下几种角色:1、观察者的抽象角色,一般就是一个接口,里面只有一个update方法,由观察者自己去实现当收到消息后的处理2、观察者角色,实现观察者的抽象3、主题的抽象角色,一般是一个抽象类 用于将观察者聚拢在一个集合里面,并提供观察者的增删方法,同时,提...
代码星球
·
2020-08-12
设计模式
观察者
模式
设计模式——备忘录模式
备忘录模式又称快照模式,是行为模式之一;备忘录模式的应用场景是对某些对象做出了改变之后,又需要恢复到改变之前的状态!常常和命令模式结合使用...备忘录中的三张角色;1、原始角色,需要具有创建备忘录和根据备忘录恢复状态的方法/**Copyright(c)2017.Xiaomi.Co.LtdAllrightsreserve...
代码星球
·
2020-08-12
设计模式
备忘录
模式
设计模式——中介者模式
中介者模式一般用于解决多个对象或者多个系统之间相互关联,交互的复杂关系的问题!这种关系一般是网状结构,使用中介者模式,将这种网状结构转换为星型结构,降低各个对象之间的耦合度。网状结构一般会导致系统复杂,可扩展性差,对象可复用程度降低!中介者模式的缺点是中介者类比较复杂,而且一旦出问题可能会影响整个系统!中介者模式的核心...
代码星球
·
2020-08-12
设计模式
中介
模式
设计模式——命令模式
命令模式:将命令封装成对象(下面示例中的Command对象),实现命令请求和命令执行者的解耦!应用场景:1、出现一组命令的时候。2、需要实现undo操作的时候。3、命令请求与执行可能不是同步的是,需要实现异步处理;4、命令需要事务控制的时候角色:receiver执行命令的具体对象,命令的实际执行者!ICommand命令...
代码星球
·
2020-08-12
设计模式
命令
模式
设计模式——责任链模式
责任链模式是一种行为模式,由许多可以处理同一件事情的对象,组成一个链状结构,每一个对象记录其下一个对象的引用,用于传递请求;请求在这个链上传递,直到被处理或者是不能处理,返回!tomcat的servlet,Struts的filter都采用了责任链的设计模式。以领导批复员工请假为例:项目经理部门经理boss都可以批准请假...
代码星球
·
2020-08-12
设计模式
责任
模式
设计模式——门面(外观)模式
一般设计一个复杂的系统的时候,常常将整个系统按照功能划分为几个子系统;这样便于开发,也便于形成比较清晰的架构。但对于使用者来说,如果需要了解各个系统的功能,则不是一件很简单的事情!这时候提供一个了解各个子系统功能的门面角色,用户只需要和门面角色交流即可!例如:电脑开机这件事情,可能需要首先启动CPU,然后启动硬盘,显示...
代码星球
·
2020-08-12
设计模式
门面
外观
模式
设计模式——桥接模式
桥接模式属于结构型模式,主要用于某一个类,需要体现两个维度上的特征!例如一碗面条的味道可能需要蔬菜和肉的类型两个维度描述(海带鸡丝面,酸菜牛肉面等),并且每一个维度不能使用基本类型的变量描述,需要使用类描述。桥接模式一般是由接口+抽象类+ 实现类描述的!接口描述一个维度,抽象类描述另一个维度,同时抽象类本身也是一个维度...
代码星球
·
2020-08-12
设计模式
桥接
模式
设计模式——适配器模式
适配器模式一般是在系统改造,更新时,原有的接口与新的接口需求不匹配的情况下,使用适配器模式比较快速的解决此问题。适配器模式的另一个优点是代码的复用,某些场景下,代码基本上可以复用,但需要稍作变动时,可以使用适配器模式来实现代码的复用。一般来说,过多的使用适配器会使得系统比较杂乱,所以如果时间允许,最好是对系统进行重构!...
代码星球
·
2020-08-12
设计模式
适配器
模式
设计模式——原型模式
原型模式的优点:简化对象的创建,使得创建对象就像复制粘贴一样easy。使用原型模式创建对象,一般不会调用类的构造方法,Object的clone方法是一个本地方法,直接操作内存中的二进制流,在复制大对象时,性能差别非常明显。 关于深拷贝与浅拷贝浅拷贝-拷贝的是值类型以及引用类型的地址深拷贝-拷贝的是值类型,对于...
代码星球
·
2020-08-12
设计模式
原型
模式
设计模式——建造者模式
前面讲述了工厂模式,主要用于创建对象;建造者模式与工厂模式的相同之处在于都属于创建型的设计模式,即都是为解决方便创建对象而产生的设计模式!不同之处在于,工厂模式一般用于创建产品本身较为简单,但是产品种类比较多,产品分类较复杂的场景;建造者模式一般用于创建产品本身比较复杂,但是不同产品的创建都需要遵循一定的流程章法,并且...
代码星球
·
2020-08-12
设计模式
建造者
模式
二十三种设计模式及其python实现
本文源码寄方于github:https://github.com/w392807287/Design_pattern_of_python参考文献:《大话设计模式》——吴强《Python设计模式》——pythontip.com《23种设计模式》—&m...
代码星球
·
2020-08-11
二十
三种
设计模式
及其
python
常见设计模式 (python代码实现)
单例模式单例模式(SingletonPattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个AppConfig的类来读取配置文件的信息。如果在程序运行期间...
代码星球
·
2020-08-11
常见
设计模式
python
代码
实现
设计模式(Python)-策略模式
本系列文章是希望将软件项目中最常见的设计模式用通俗易懂的语言来讲解清楚,并通过Python来实现,每个设计模式都是围绕如下三个问题:为什么?即为什么要使用这个设计模式,在使用这个模式之前存在什么样的问题?是什么?通过Python语言来去实现这个设计模式,用于解决为什么中提到的问题。怎么用?理解了为什么我们也就基本了解了...
代码星球
·
2020-08-11
设计模式
Python
策略
模式
设计模式(Python)-简单工厂,工厂方法和抽象工厂模式
本系列文章是希望将软件项目中最常见的设计模式用通俗易懂的语言来讲解清楚,并通过Python来实现,每个设计模式都是围绕如下三个问题:为什么?即为什么要使用这个设计模式,在使用这个模式之前存在什么样的问题?是什么?通过Python语言来去实现这个设计模式,用于解决为什么中提到的问题。怎么用?理解了为什么我们也就基本了解了...
代码星球
·
2020-08-11
工厂
设计模式
Python
简单
方法
设计模式(Python)-单例模式
本系列文章是希望将软件项目中最常见的设计模式用通俗易懂的语言来讲解清楚,并通过Python来实现,每个设计模式都是围绕如下三个问题:为什么?即为什么要使用这个设计模式,在使用这个模式之前存在什么样的问题?是什么?通过Python语言来去实现这个设计模式,用于解决为什么中提到的问题。怎么用?理解了为什么我们也就基本了解了...
代码星球
·
2020-08-11
设计模式
Python
单例
模式
首页
上一页
...
19
20
21
22
23
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他