python设计模式之 mixin

python mixin的用法类似java的反射:通过传入的 字符串,返回具有 字符串对应功能的 对象:如:

import mixins

def staff():

    people = People():

    bases = []

    for i in config.checked();

        bases.append(getattr(mixins, i))

    people.__bases__ += tuple(bases)

    return people

1. mixins.py里面定义好各种功能的类;

2. config文件里面指定需要那种功能,功能名和mixins.py的类名相同;

3. people.__bases__ += tuple(bases) 使people这个对象继承config指定的mixins.py里面的类,所以返回的people对象就具有的config里面指定的类

4. 好处:只需要更改config,不需要改python代码,就可以得到不同功能的对象


<<编写高质量代码改善python程序的91个建议>> P134

你可能感兴趣的:(python设计模式之 mixin)