【设计模式】结构型模式-02-桥接模式

图源:虫洞栈-重学设计模式

理解:

1.将每种支付方式抽象--->Pay:里面有tranfer(),有可验证安全的对象(payMode),调用对象payMode.security()即可验证安全与否

2.就是一个类依赖另一个类中的方法,两种支付方式 都依赖  各种验证安全的手段,--->抽象:支付方式 依赖 验证安全 ---->支付方式:能被extend或implement,所以可以各自实现不同的支付方式,这样才是好的抽象;验证安全,有各种验证安全的方法,所以抽象出来的东西,要能被extend或implement,这样才能适配不同的情况。

3.最后变成了:一个高度抽象的“原型1”中,包含(依赖)另一个高度高度抽象的“原型2”,这样可以implement出不同的原型1对象,向其中传入implement 出来的 不同的 原型2对象,达到笛卡尔乘积(只记得这个了,忘了怎么表达,就是每一种情况都可以有的意思)的效果。

4.就是可以微信+脸部验证/指纹验证   可以支付宝+脸部验证/指纹验证,各种情况都可以。

5.再理解:通过将一种 多情况的service 进行抽象(抽象为安全验证),然后用第二个类 依赖 前面这个高度抽象的接口/抽象类 的对象(就是 抽象出来的支付,依赖 前面抽象的安全验证 类型的对象),后面就可以通过传入不同实现的对象(如脸部验证、指纹验证),调用对象提供的不同service,实现不同的组合。

6.最后的理解:将Wx、Zfb支付 需要的 各种安全验证(从一坨屎山中),抽离出来(解耦合),再进行抽象(父类、虚函数、接口),加入到屎山中形成依赖。以后就方便拓展、修改。

7.最最后的理解:从一个中,抽离依赖 或 共性 或 重复的部分 或 独立的部分 或 耦合度低的部分,进行抽象,再注入抽象出的东西(后面传入此抽象具象化的东西,也会都是没问题的),解耦合-->高级依赖。

8.最后再具象一下:我需要食物,将食物 抽象成-->维生素、水等各种需要的东西,就变成了 我需要 包含维生素、水等需要物 的食物。

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值