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))

    做一个优秀的程序媛
  • 相关阅读:
    Eclipse+EPIC+PadWalker
    Commit message 和 Change log 编写指南
    把perl脚本编译成exe
    Qt使用中碰到的问题
    Python——函数 7、位置参数与默认参数之间的关系
    Python——函数 6、默认参数
    Python——函数 5、位置参数与关键字参数
    Python——函数 4、形参的应用
    Python——函数 3、实参与形参
    Python——函数 2、返回值
  • 原文地址:https://www.cnblogs.com/oytt/p/13614764.html
Copyright © 2011-2022 走看看