基于python的设计模式之创建型模型
设计模式(GOF): 每一个设计模式系统地命名、解释和评价了面向对象系统中一个重要的和重复出现的设计 设计模式四个基本要素:模式名称、问题、解决方法、效果 设计模式前戏: 对象/类 封装、继承、多态 接口:一个特殊的类,声明了若干方法,要求继承该接口的类必须实现这些方法 作用:限制继承接口的类的方法的名称及调用方式;隐藏了类的内部实现 接口就是一种抽象的基类(父类),限制继承它的类必须实现接口中定义的某些方法 Python中接口的两种写法 1 class Interface: 2 def method(self,arg): 3 raise NotImplementedError 4 5 #抽象类不可以实例化 6 from abc import abstractmethod,ABCMeta 7 class Interface(metaclass=ABCMeta): 8 @abstractmethod 9 def method(self,arg): 10 pass 设计模式六大原则 开闭原则:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。 里氏(Liskov)替换原则:所有引用基类(父类)的方法必须能透明地使用其子类的对象。 依赖倒置原则:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象