python工厂模式应用场景_工厂模式在Python中的实现

我有一个关于Python工厂模式的问题。在

根据.ini文件中的配置,我想使用BasicSession或AdvancedSession。两个类都从父会话类继承一些公共功能。在一个关于创建一个类的工厂的实例中。在

请在下面找到我的实现(代码经过简化,仅显示了总体思想)。你觉得这个实现怎么样?也许还有更好的方法?在class SessionConfig(object):

def __init__(self, advanced_mode_enabled, param_b):

self.advanced_mode_enabled = advanced_mode_enabled

self.param_b = param_b

class Session(ISession):

def __init__(self):

pass

def method_1(self):

pass

def method_2(self):

pass

class BasicSession(Session):

def __init__(self, config, a, b):

self.config = config

self.a = a

self.b = b

self.method_2 # From parent class

self.method_3

self.method_1 # From parent class

def method_3(self):

pass

class AdvancedSession(Session):

def __init__(self, config, a, b):

self.config = config

self.a = a

self.b = b

self.method_2 # From parent class

self.method_3

self.method_4

def method_3(self):

pass

def method_4(self):

pass

class SessionFactory(object):

def __init__(self, config, a, b):

if config.advanced_mode_enabled:

self.session = AdvancedSession(config, a, b)

else:

self.session = BasicSession(config, a, b)

def get_session(self):

return self.session

config = SessionConfig(True, 20) # in real app values are taken from .ini file

session = SessionFactory(config, 'value_1', 'value_2').get_session()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值