工厂模式: “工厂”即表示一个负责创建其他类型的对象的类,通常情况下,一个工厂的对象会有一个或多个方法与之关联,这些方法用于创建不同类型的对象,工厂对象会根据客户端给方法传递的不同的参数或者客户端调用不同的方法返回不同的对象。
成都创新互联服务项目包括嘉定网站建设、嘉定网站制作、嘉定网页制作以及嘉定网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,嘉定网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到嘉定省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!优点:对象的创建是可以根据需要单独创建的,但是使用工厂模式来创建对象有以下优点:
工厂模式的3种实现形式(或者说3中变体):
简单工厂模式示例:
from abc import ABCMeta, abstractmethod class Flower(metaclass=ABCMeta): @abstractmethod def show_price(self): pass class Rose(Flower): def show_price(self): print('Rose price: $99') class Tulip(Flower): def show_price(self): print('Tulip price: $66') class FlowerSimpleFactory: def get_flower(self, flower_type): return eval(flower_type)() if __name__ == '__main__': flower_factory = FlowerSimpleFactory() rose = flower_factory.get_flower('Rose') tulip = flower_factory.get_flower('Tulip') rose.show_price() tulip.show_price()