diff --git "a/2.\351\235\242\345\220\221\345\257\271\350\261\241\350\256\276\350\256\241\345\216\237\345\210\231.md" "b/2.\351\235\242\345\220\221\345\257\271\350\261\241\350\256\276\350\256\241\345\216\237\345\210\231.md" index 4a2e9da..ea07429 100644 --- "a/2.\351\235\242\345\220\221\345\257\271\350\261\241\350\256\276\350\256\241\345\216\237\345\210\231.md" +++ "b/2.\351\235\242\345\220\221\345\257\271\350\261\241\350\256\276\350\256\241\345\216\237\345\210\231.md" @@ -2,7 +2,7 @@ ###### 1. 开放封闭原则 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。即软件实体应该在不修改原代码的情况下进行修改。 ###### 2. 里氏替换原则 -所有引用父类的地方必须能透明地使用其子类地方必须能透明地使用其子类的对象,一个简单的例子加强理解 +所有引用父类的地方必须能透明地使用其子类的对象,一个简单的例子加强理解 ```py class User(object): def print_name(self): @@ -24,7 +24,7 @@ def print_name(u): u.print_name() ``` ###### 3. 依赖倒置原则 -高层模块不应该依赖底层模块,二者都应该依赖抽象。抽象不应该依赖细节,细节应该应该依赖抽象。**`要针对接口编程,而不是针对实现变成`**。通过例子加强理解: +高层模块不应该依赖底层模块,二者都应该依赖抽象。抽象不应该依赖细节,细节应该应该依赖抽象。**`要针对接口编程,而不是针对实现编程`**。通过例子加强理解: ```py from abc import ABCMeta, abstractmethod @@ -51,7 +51,7 @@ a.pay(100) w.pay(100) ``` ###### 4. 接口隔离原则 -使用多个专门的接口,而不使用单一的总结口,高层的代码不应该依赖那些它不需要的接口。通过例子加强理解: +使用多个专门的接口,而不使用单一的总接口,高层的代码不应该依赖那些它不需要的接口。通过例子加强理解: ```py from abc import ABCMeta, abstractmethod diff --git "a/3.\345\210\233\345\273\272\345\236\213\346\250\241\345\274\217.md" "b/3.\345\210\233\345\273\272\345\236\213\346\250\241\345\274\217.md" index 715e72c..8fe8b44 100644 --- "a/3.\345\210\233\345\273\272\345\236\213\346\250\241\345\274\217.md" +++ "b/3.\345\210\233\345\273\272\345\236\213\346\250\241\345\274\217.md" @@ -29,7 +29,7 @@ class WechatPay(Payment): # 工厂类角色 class PaymentFactory: - def ctreate_payment(self, method): + def create_payment(self, method): if method == 'Alipay': return Alipay() elif method == 'WechatPay': @@ -41,7 +41,7 @@ class PaymentFactory: # 客户端调用。不直接向客户端暴露对象创建的实现细节,而是通过一个工厂类来负责创建产品类的实例 pf = PaymentFactory() -p = pf.ctreate_payment('HuabeiPay') +p = pf.create_payment('HuabeiPay') p.pay(100) ``` ###### 2. 工厂方法模式 @@ -84,7 +84,7 @@ class AlipayFactory(PaymentFactory): class WechatPayFactory(PaymentFactory): def create_payment(self): - return Alipay() + return WechatPay() class HuabeiFactory(PaymentFactory): def create_payment(self): @@ -134,7 +134,7 @@ class AlipayFactory(PaymentFactory): # 工厂类 class WechatPayPayFactory(PaymentFactory): def create_payment(self): - return Alipay() + return WechatPay() # 工厂类 class HuabeiPayFactory(PaymentFactory): @@ -189,7 +189,7 @@ class SnapDragonCPU(PhoneCPU): class HuaweiCPU(PhoneCPU): def show_cpu(self): - print('化为CPU') + print('华为CPU') class AppleCPU(PhoneCPU): def show_cpu(self): @@ -262,7 +262,7 @@ p.show_info() """ 手机信息: 普通手机小手机壳 -化为CPU +华为CPU IOS系统 """ ```