Python论坛  - 讨论区

标题:Re: [python-chinese] 讨论一下Mixin吧!

2005年11月09日 星期三 14:14

Du Jun jdu at haiercct.com.cn
Wed Nov 9 14:14:57 HKT 2005

而NewEdit里面的与mixin类似的机制是通过先定义一个
mixin基类
这个mixin类的作用就是定义一个App的最原始的结构和最根本的功能,
还定义了一些称作插槽类的类作为插入点,用于将来扩充时识别加入的类,

如果我定义了一个类似
class A(mixin):pass
的类,就是说这是一个扩展,我在这个A类中实现的功能将 动态地 扩展到到原来的mixin实例化对象里面,就是说只是在内存里面的对象实例是扩充过的mixin类的对象。
Mixin源码本身是不变的?
这样认为对吗?


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年11月09日 星期三 15:05

limodou limodou at gmail.com
Wed Nov 9 15:05:40 HKT 2005

在 05-11-9,Du Jun<jdu at haiercct.com.cn> 写道:
> 而NewEdit里面的与mixin类似的机制是通过先定义一个
> mixin基类
> 这个mixin类的作用就是定义一个App的最原始的结构和最根本的功能,

不是app是类的Mixin功能扩展。

> 还定义了一些称作插槽类的类作为插入点,用于将来扩充时识别加入的类,
>
类不是插入点,而是某个调用的起点是插入点,是用于Plugin的。每个slot class 中定义的__mixinname__用来定义识别的名字。

> 如果我定义了一个类似
> class A(mixin):pass
> 的类,就是说这是一个扩展,我在这个A类中实现的功能将 动态地 扩展到到原来的mixin实例化对象里面,就是说只是在内存里面的对象实例是扩充过的mixin类的对象。
> Mixin源码本身是不变的?
> 这样认为对吗?
>

正确。在运行时刻进行类的组装。

--
I like python!
My Blog: http://www.donews.net/limodou
NewEdit Maillist: http://groups.google.com/group/NewEdit

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号