• Factory Method(工厂方法)


    Factory Method(工厂方法)

    意图:

    定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使个类的实例化延迟到其子类。

    适用性:

    当一个类不知道它所必须创建的对象的类的时候。

    当一个类希望由它的子类来指定它所创建的对象的时候。

    当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。

    实现:

    #!/usr/bin/python
    #coding:utf8
    '''
    Factory Method
    '''
     
    class ChinaGetter:
        """A simple localizer a la gettext"""
        def __init__(self):
            self.trans = dict(dog=u"小狗", cat=u"小猫")
     
        def get(self, msgid):
            """We'll punt if we don't have a translation"""
            try:
                return self.trans[msgid]
            except KeyError:
                return str(msgid)
     
     
    class EnglishGetter:
        """Simply echoes the msg ids"""
        def get(self, msgid):
            return str(msgid)
     
     
    def get_localizer(language="English"):
        """The factory method"""
        languages = dict(English=EnglishGetter, China=ChinaGetter)
        return languages[language]()
     
    # Create our localizers
    e, g = get_localizer("English"), get_localizer("China")
    # Localize some text
    for msgid in "dog parrot cat bear".split():
        print(e.get(msgid), g.get(msgid))
  • 相关阅读:
    Swagger文档项目配置
    时间格式转换和加一天操作
    Mysql 主从复制
    Nginx简单记录
    Linux Nginx
    obsidian插件Advanced Uri常用配置路径汇总
    react图片查看器插件imagesviewerreact与useRef的爱与恨
    DRF中serializer的中的模型字段解释
    Codeforces Round #787 (Div. 3)ABCD
    THUPC 2022 游记
  • 原文地址:https://www.cnblogs.com/navysummer/p/9835084.html
Copyright © 2020-2023  润新知