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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 7,646评论 1 118
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,115评论 19 139
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,622评论 6 427
  • 本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入...
    小小不懂11阅读 3,463评论 2 30
  • Python的面向对象 类 Class 类变量 Class variable 数据成员 Data member 函...
    JasonJe阅读 1,155评论 0 3