zoukankan      html  css  js  c++  java
  • 【2】设计模式(工产模式+python代码)

    理解

    简单工厂模式:创建的产品不多,只要一个工厂类就可以完成,它不属于 GoF 的 23 种经典设计模式,它的缺点是增加新产品时会违背“开闭原则”。


    工厂方法模式:是对简单工厂模式的进一步抽象化,其好处是可以使系统在不修改原来代码的情况下引进新的产品,即满足开闭原则。

    优点有:

    • 用户只需要知道具体工厂的名称就可得到所要的产品,无须知道产品的具体创建过程创建和使用分离
    • 在系统增加新的产品时只需要添加具体产品类和对应的具体工厂类,无须对原工厂进行任何修改,满足开闭原则;

    缺点是:

    • 增加了类的数量,当有成千上万个类型的产品时,就需要有成千上万个工厂类来生产这些产品。

    代码实现

    #男孩的特点
    class Boy:
            def Feature(self, name, name_type):
                    if name_type == 1:
                            return name+" 阳光活泼"
                    elif name_type == 2:
                            return name+" 爱好学习"
                    else:
                            return "不能进行生产"
    #女孩特点
    class Girl:
            def Feature(self, name, name_type):
                    if name_type == 1:
                            return name+" 美丽大方"
                    elif name_type == 2:
                            return name+" 热爱舞蹈"
                    else:
                            return "不能进行生产"
    
    #工厂
    class Factory:
            #生产人类
            def Create_People(self, people_type):
                    if people_type == "b":
                            return Boy()
                    elif people_type == "g":
                            return Girl()
                    else:
                            return None
    if __name__=='__main__':
            factory = Factory()
            person_one = factory.Create_People('b');
            print("生产结果: ", person_one.Feature('mike', 2))
    
            person_one = factory.Create_People('g');
            print("生产结果: ", person_one.Feature('mike', 2))

    做一个优秀的程序媛
  • 相关阅读:
    浏览器控制台获取百度文库文章内容
    使用python登录CNZZ访问量统计网站,然后获取相应的数据
    使用Python登录腾讯MTA数据分析平台,然后获取相关数据
    使用python读写excel
    python将json转csv
    TCP/IP协议
    PHP smarty
    PHP入门及面向对象
    PHP概览
    PHP整体概览
  • 原文地址:https://www.cnblogs.com/oytt/p/13614764.html
Copyright © 2011-2022 走看看