设计模式-适配器模式
本文意在分享自己理解的命令模式,尽量生动有趣,本文将使用WPF为例子:
场景:
本来有两台手机,两个充电器
用的好好的,但是有一天,换Iphone15了


虽然说TypeC充电器都能用,但一个充电器
冲两台手机好像不够用,Lighting口是否还能用
聪明的你,一定想到了这玩意:

于是乎:



这样,老旧的闪电口又能继续工作啦!
看下例子中的六大原则:
单一职责原则(Single Responsibility Principle):每个类 都只负责实现自己的接口,没有违反单一职责原则。
开放封闭原则(Open-Closed Principle):通过适配器模式,可以在不修改现有代码的情况下添加新的功能。
里氏替换原则(Liskov Substitution Principle):LightingAdapter可以替换Lighting,而不会影响LightningIsWorking方法的正确性。
接口隔离原则(Interface Segregation Principle):ILightning和ITypeC接口都只定义了一个方法,没有违反接口隔离原则。(但是,当适配器业务复杂起来的时候,这个原则容易被打破)
依赖倒置原则(Dependency Inversion Principle):Button_Click方法依赖于抽象接口ILightning和ITypeC,而不依赖于具体的实现类。
迪米特法则(Law of Demeter):Button_Click方法只与接口ILightning和ITypeC进行交互,而不知道具体的实现类。
当然,缺点也很明显,当需要多个适配器或者接口变多的时候,复杂度就上来了

所以这个模式要慎用
最后,没有什么设计模式是最好的,只有最好的使用方法

浙公网安备 33010602011771号