提交 c0c41ced 编写于 作者: W wizardforcel

2021-04-13 21:15:49

上级 1dc97a92
......@@ -274,9 +274,9 @@ publicclass Main
我们可以在实现图中区分以下参与者:
* **主题**:客户端使用的现有接口
* **RealSubject**:真实对象的类
* **ProxySubject**:代理类
* `Subject``:客户端使用的现有接口
* `RealSubject`:真实对象的类
* `ProxySubject`:代理类
# 示例
......@@ -406,10 +406,10 @@ JScrollPane scrollPane2 = new JScrollPane(scrollPane1);
我们可以在实现图中区分以下参与者:
* **组件**:抽象组件(可以是接口)
* **组件实现**:这是我们要装饰的组件之一
* **Decorator**:这是一个抽象的组件 Decorator
* **ExtendedComponent**:这是添加额外功能的组件装饰器
* `Component`:抽象组件(可以是接口)
* `ComponentImplementation`:这是我们要装饰的组件之一
* `Decorator`:这是一个抽象的组件 Decorator
* `ExtendedComponent`:这是添加额外功能的组件装饰器
# 示例
......@@ -488,10 +488,10 @@ class PrintTextHexDecorator implements PrintText
我们可以在实现图中区分以下参与者:
* **抽象**:这是抽象组件
* **实现**:这是抽象实现
* **精制**:精制成分
* **具体实施**:这是具体实施
* `Abstraction`:这是抽象组件
* `Implementation`:这是抽象实现
* `Refined`:精制成分
* `SpecificImplementation`:这是具体实施
# 示例
......@@ -590,10 +590,10 @@ Composite 使用递归组合,其中客户端代码以相同的方式处理每
我们可以在实现图中区分以下参与者:
* **客户**:客户代码
* **组件**:抽象节点
* **叶**:叶节点
* **复合**:具有子节点的复合节点,子节点可以是复合节点,也可以是叶节点
* `Client`:客户代码
* `Component`:抽象节点
* `Leaf`:叶节点
* `Composite`:具有子节点的复合节点,子节点可以是复合节点,也可以是叶节点
# 示例
......@@ -613,7 +613,7 @@ publicclass Main
}
```
客户端代码创建一个*(1+4)-2*算术表达式并打印其值,如下代码所示:
客户端代码创建一个`(1 + 4) - 2`算术表达式并打印其值,如下代码所示:
```java
interface ArithmeticComposite
......@@ -676,7 +676,7 @@ class MinusOperand extends ArithmeticOperand
`PlusOperand`和`MinusOperand`是当前支持的算术类型。他们知道如何表示加号(+)和减号(-)的算术表达式。
如预期,*(1+4)-2*算术表达式返回 3,并将值打印到控制台,如下图所示:
如预期,`(1 + 4) - 2`算术表达式返回 3,并将值打印到控制台,如下图所示:
![](img/f2cdc200-c021-41d4-af7c-9c654e878838.png)
......@@ -698,9 +698,9 @@ façade 模式需要采用内部子系统接口(多个接口)到客户机代
我们可以在实现图中区分以下参与者:
* **客户端**:子系统客户端代码
* **立面**:子系统接口
* **子系统**:子系统中定义的类
* `Client`:子系统客户端代码
* `Facade`:子系统接口
* `SubSystem`:子系统中定义的类
# 示例
......@@ -832,11 +832,11 @@ flyweight 和 façade 的区别在于前者知道如何制作许多小对象,
我们可以在实现图中区分以下参与者:
* **客户**:客户代码。
* **FlyweightFactory**:如果 flyweights 不存在,则创建 flyweights;如果 flyweights 存在,则从池中返回 flyweights。
* **飞锤**:抽象飞锤。
* **ConcreateShareableFlyweight**:设计为与对等方共享状态的 flyweight。
* **ConcreateUnshareableFlyweight**:不共享其状态的 flyweight。它可以由多个混凝土飞锤组成,例如,一个由三维立方体和球体组成的结构。
* `Client`:客户代码。
* `FlyweightFactory`:如果 flyweights 不存在,则创建 flyweights;如果 flyweights 存在,则从池中返回 flyweights。
* `Flyweight`:抽象飞锤。
* `ConcreateShareableFlyweight`:设计为与对等方共享状态的 flyweight。
* `ConcreateUnshareableFlyweight`:不共享其状态的 flyweight。它可以由多个混凝土飞锤组成,例如,一个由三维立方体和球体组成的结构。
# 示例
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册