设计模式
This commit is contained in:
@ -450,7 +450,7 @@ public class ZTest {
|
||||
|
||||
### 2.3 优缺点
|
||||
|
||||
简单工厂的优点在于其向用户屏蔽了对象创建过程,使得用户可以不必关注具体的创建细节,其缺陷在于违背了开闭原则。在简单工厂模式下,如果想要增加新的产品,就需要修改简单工厂中的判断逻辑,这就违背了开闭原则,因此其并不属于 GOF 经典的 23 种设计模式。在 Java 语言中,可以通过泛型来尽量规避这一缺陷,此时需要将创建产品的方法修改为如下所示:
|
||||
简单工厂的优点在于其向用户屏蔽了对象创建过程,使得用户可以不必关注具体的创建细节,其缺陷在于违背了开闭原则。在简单工厂模式中,如果想要增加新的产品,就需要修改简单工厂中的判断逻辑,这就违背了开闭原则,因此其并不属于 GOF 经典的 23 种设计模式。在 Java 语言中,可以通过泛型来尽量规避这一缺陷,此时可以将创建产品的方法修改为如下所示:
|
||||
|
||||
```java
|
||||
public Phone getPhone(Class<? extends Phone> phoneClass) {
|
||||
@ -756,4 +756,15 @@ Phone(processor=高通骁龙处理器, camera=索尼摄像头, screen=OLED)
|
||||
|
||||
### 5.3 优点
|
||||
|
||||
建造者模式的优点在于将复杂的构建过程拆分为多个独立的单元,在保证拓展性的基础上也保证了良好的封装性,使得客户端不必知道产品的具体创建流程。
|
||||
建造者模式的优点在于将复杂的构建过程拆分为多个独立的单元,在保证拓展性的基础上也保证了良好的封装性,使得客户端不必知道产品的具体创建流程。
|
||||
|
||||
## 6. 原型模式
|
||||
|
||||
### 6.1 定义
|
||||
|
||||
|
||||
|
||||
### 6.2 示例
|
||||
|
||||
### 6.3
|
||||
|
||||
|
Reference in New Issue
Block a user