☝️增加表情
This commit is contained in:
parent
4da3f20de0
commit
470af14b0e
@ -11,11 +11,11 @@ tags: 设计模式
|
|||||||
|
|
||||||
然后几天后需求方提出能不能增加短信通知,你加班加点实现短信通知功能。。。
|
然后几天后需求方提出能不能增加短信通知,你加班加点实现短信通知功能。。。
|
||||||
|
|
||||||
一段时间之后需求方还想提供站内信通知功能。。。
|
一段时间之后需求方还想提供站内信通知功能 :confused: 。。。
|
||||||
|
|
||||||
不久之后需求方角色能不能提供类似webstock即时消息通知。。。
|
不久之后需求方问你能不能提供类似webstock即时消息通知:joy: 。。。
|
||||||
|
|
||||||
如果一开始代码都写在一起,每种消息通知方式不同整体数据结构也大相径庭,那么后期维护可想而知。。。
|
如果一开始代码都写在一起,每种消息通知方式不同整体数据结构也大相径庭,那么后期维护可想而知:alien:。。。
|
||||||
|
|
||||||
# 如何解决
|
# 如何解决
|
||||||
将每种通知方式设为一种通知策略,因此在整体模块或服务设计时候,应该做好如下几点:
|
将每种通知方式设为一种通知策略,因此在整体模块或服务设计时候,应该做好如下几点:
|
||||||
@ -26,7 +26,7 @@ tags: 设计模式
|
|||||||
# 实现
|
# 实现
|
||||||
这边使用PHP语言实现,其他具有oop编程语言逻辑类似
|
这边使用PHP语言实现,其他具有oop编程语言逻辑类似
|
||||||
|
|
||||||
1. 定义策略算法接口
|
1. :point_up:定义策略算法接口
|
||||||
|
|
||||||
```php
|
```php
|
||||||
interface StrategyInterface
|
interface StrategyInterface
|
||||||
@ -54,7 +54,7 @@ class Email implements StrategyInterface
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
2. 定义好策略调度规则&统一入口
|
2. :fu:定义好策略调度规则&统一入口
|
||||||
|
|
||||||
```php
|
```php
|
||||||
class DispatchStrategy
|
class DispatchStrategy
|
||||||
@ -70,7 +70,7 @@ class DispatchStrategy
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
3. 运行调用
|
3. :relaxed:运行调用
|
||||||
|
|
||||||
```php
|
```php
|
||||||
//Context 根据不同策略实现不同的消息上下文依赖
|
//Context 根据不同策略实现不同的消息上下文依赖
|
||||||
|
Loading…
x
Reference in New Issue
Block a user