设计模式的定义:为了解决面向对象系统中重要和重复的设计封装在一起的一种代码实现框架,可以使得代码更加易于扩展和调用
四个基本要素:模式名称,问题,解决方案,效果
六大原则:
1.开闭原则:一个软件实体,如类,模块和函数应该对扩展开放,对修改封闭。既软件实体应尽量在不修改原有代码的情况下进行扩展。
2.里氏替换原则:所有引用父类的方法必须能透明的使用其子类的对象
3.依赖倒置原则:高层模块不应该依赖底层模块,二者都应该依赖其抽象,抽象不应该依赖于细节,细节应该依赖抽象,换而言之,要针对接口编程而不是针对实现编程
4.接口隔离原则:使用多个专门的接口,而不是使用单一的总接口,即客户端不应该依赖那些并不需要的接口
5.迪米特法则:一个软件实体应该尽可能的少与其他实体相互作用
6.单一直责原则:不要存在多个导致类变更的原因.即一个类只负责一项职责
零:接口
定义:一种特殊的类,声明了若干方法,要求继承该接口的类必须实现这种方法
作用:限制继承接口的类的方法的名称及调用方式,隐藏了类的内部实现
from abc import ABCMeta,abstractmethod class Payment(metaclass=ABCMeta): @abstractmethod#定义抽象方法的关键字 def pay(self,money): pass # @abstractmethod # def pay(self,money): # raise NotImplementedError class AiliPay(Payment): #子类继承接口,必须实现接口中定义的抽象方法,否则不能实例化对象 def pay(self,money): print('使用支付宝支付%s元'%money) class ApplePay(Payment): def pay(self,money): print('使用苹果支付支付%s元'%money)