
设计模式
a...Z
golang php rust
展开
-
设计模式-观察者模式
观察者模式什么是观察者模式例如业务中,我们可能有一个相同的数据源要分别经过不同的处理逻辑分发给不同的处理房,这时候第一种,分别获取两次数据源,对应处理,分别推送第二种,获取一次数据源,调用不同逻辑处理,分别推送如果要推送的是成千上万个调用方呢,那么就需要分别获取一次,而观察者只需要获取一次,分别处理,在推送就可以了代码package mainimport "fmt"//观察者接口type Observer interface { Notify(config,args strin原创 2021-07-20 11:02:57 · 96 阅读 · 0 评论 -
设计模式-策略模式
策略模式定义接口,具体不同的业务不同的实现软件开发中,我们经常会遇到这样的场景,比如支付,用户支付,可以通过支付宝,微信,或者银联。他们最终的目的都是完成付钱的动作。我们可以归纳抽象这些支付渠道为相同的流程;基本的支付动作都是相同的,只不过支付实现(策略)不一样。比如调用的api 不一样,参数不一样,签名不一样等。我们可以定义基本的支付 interface,然后用不同的实现,完成 provider.DoPay 操作,完成支付。这种就是最简单的策略模式。上代码package mainimp原创 2021-07-20 09:59:55 · 89 阅读 · 0 评论