Skip to content

Commit deb6412

Browse files
committed
添加标题
1 parent c334c10 commit deb6412

25 files changed

+50
-0
lines changed

Diff for: AdapterPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11

2+
# 适配器模式
3+
24
把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作。
35

46
假如我的手机充电口是 type-c 类型的,但我只有一根传统的 Micro USB 接口的数据线,怎么办?

Diff for: BridgePattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 桥接模式
2+
13
将抽象部分与它的实现部分分离,使它们都可以独立地变化。通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。
24

35
我们有一个作为桥接实现的 TV 接口和实现了 TV 接口的实体类 Haier、KONKA,RemoteControl 是一个接口,将使用 TV 的对象。

Diff for: BuilderPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 建造者模式
2+
13
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
24

35
## 案例

Diff for: ChainOfResponsibilityPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 责任链模式
2+
13
避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。
24

35
职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的处理细节和请求的传递,所以职责链将请求的发送者和请求的处理者解耦了。

Diff for: ClassReleation.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 类间的关系
2+
13
UML 图中类之间的关系
24

35
* 依赖

Diff for: CommandPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 命令模式
2+
13
将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。
24

35
在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。

Diff for: CompositePattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 组合模式
2+
13
组合模式是一种具有层次关系的树形结构,不能再分的叶子节点是具体的组件,也就是最小的逻辑单元;具有子节点(由多个子组件组成)的组件称为复合组件,也就是组合对象。
24

35
组合模式定义了如何将容器对象和叶子对象进行递归组合,使得客户在使用的过程中无须进行区分,可以对他们进行一致的处理————叶子对象和组合对象实现相同的接口。

Diff for: DecoratorPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 装饰模式
2+
13
动态地给一个对象增加一些额外的职责,就拓展对象功能来说,装饰模式比生成子类的方式更为灵活。
24

35
一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。

Diff for: DesignPrinciples.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 设计原则
2+
13
我们在设计一些设计模式时,一般遵循如下七项基本原则,它们分别是:
24

35
1. 单一职责原则 (Single Responsibility Principle)

Diff for: FacadePattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 外观模式
2+
13
为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
24

35
## 样例

Diff for: FilterCriteriaPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 过滤器模式
2+
13
使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。当我们想要选择满足一个或多个条件的对象子集时,此设计模式非常有用。
24

35
## 案例

Diff for: FlyweightPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 享元模式
2+
13
运用共享技术有效地支持大量细粒度对象的复用。
24

35
## 样例

Diff for: InterpreterPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 解释器模式
2+
13
定义一个语言的文法,并且建立一个解释器来解释该语言中的句子,这里的“语言”是指使用规定格式和语法的代码。
24

35
## 样例

Diff for: IteratorPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 迭代器模式
2+
13
提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。
24

35
分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据。

Diff for: MediatorPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 中介者模式
2+
13
用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。
24

35
## 样例

Diff for: MementoPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 备忘录模式
2+
13
在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。
24

35
## 备忘录模式的结构

Diff for: NullObjectPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 空对象模式
2+
13
通过实现一个默认的无意义对象来避免 null 值出现,简单地说,就是为了避免在程序中出现 null 值判断而诞生的一种常用设计方法。
24

35
在大多数面向对象的编程语言中,我们会考虑不进行 null 引用,为此我们经常被迫写空检查:

Diff for: ObserverPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 观察者模式
2+
13
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
24

35
## 样例

Diff for: PrototypePattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 原型模式
2+
13
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。
24

35
原型模式是通过现有对象的所有属性来复制自身,创建一个新的对象。当类的实例间差异仅是属性值的不同时,这种做法将比手工实例化更加方便。

Diff for: ProxyPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 代理模式
2+
13
为其他对象提供一种代理以控制对这个对象的访问。
24

35
## 案例

Diff for: SingletonPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 单例模式
2+
13
相比OC,Swift 有很优雅的实现单例的写法。
24

35

Diff for: StatePattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 状态模式
2+
13
允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。
24

35
## 样例

Diff for: StrategyPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 策略模式
2+
13
定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。
24

35
在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。

Diff for: TemplatePattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 模板模式
2+
13
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
24

35
## 样例

Diff for: VisitorPattern.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# 访问者模式
2+
13
将算法与其所作用的对象隔离开来。
24

35
将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式

0 commit comments

Comments
 (0)