python---重点(设计模式)
前戏:设计模式简介
设计模式是面向对象设计的解决方案,是复用性程序设计的经验总结。(与语言无关,任何语言都可以实现设计模式)
设计模式根据使用目的的不同而分为创建型模式(Creational Pattern),结构性模式(Structural Pattern)和行为型模式(Behavioral Pattern)
创建型模式:提出来对象创建的解决方案以及数据封装的方法。降低了创建对象时代码实现的复杂度,是对象的创建时能够满足特定的要求。例如工程模式,抽象工厂模式,单例模式,生成器模式
结构型模式:描述了对象之间的体系结构,通过组合,继承等方式改善体系结构,降低体系结构中的组件依赖性。例如,适配器模式。桥模式,组合模式,装饰器模式,外观模式等。
行为模式:描述了对象之间的交互和各自的职责,有助于实现程序中对象的通讯和流程的控制。例如:迭代器模式,解释器模式,中介者模式,观察者模式等。
使用python同样可以实现各种设计模式,而且实现过程比较简单。
一:工厂模式
在工厂方法模式中,工厂方法用于创建产品。并隐藏了产品对象实例化的过程。过程方法根据不同的参数生成不同的对象。因此客户程序只需要知道工厂类和产品的父类,并不需要知道产品的创建过程以及返回产品的类型。
例如:定义Factory类创建不同的Fruit对象,Apple类和Banana类继承自Fruit类。那么这两个类(Apple和和Banana类就是我们需要去生成的产品)
实现工厂方法(简单版本)
class Factory: def createFruit(self,fruit): if fruit == "apple": return Apple() elif fruit == "banana": return Banana() class Fruit: def __str__(self): return "fruit" class Apple(Fruit): def __str__(self): return "apple" class Banana(Fruit): def __str__(self): return "banana" if __name__ == "__main__": factory = Factory() a = factory.createFruit("apple") b = factory.createFruit("banana") print(a,b) #apple banana
简单实现,并不完美,后面补上