The PEAK Developers' Center   Diff for "ComposingHierarchies" UserPreferences
 
HelpContents Search Diffs Info Edit Subscribe XML Print View
Ignore changes in the amount of whitespace

Differences between version dated 2004-10-09 01:35:35 and 2005-05-12 08:35:35 (spanning 4 versions)

Deletions are marked like this.
Additions are marked like this.

The purpose of this page is to give a quick overview of how to compose component hierarchies using the PEAK framework, using working code. I have inlined comments in the code example, so hopefully, it will be self explanatory.
 
== Code ==
Here's the code example that I came up with while working out how to compose hiearchies, and "aquire" objects from parent components in PEAK. It requires the current CVS version of PEAK (0.5a3).
Here's the code example that I came up with while working out how to compose hierarchies, and "aquire" objects from parent components in PEAK. It requires the current CVS version of PEAK (0.5a3).
 
{{{
#!python

    print "gc.myColor: ",gc.gcColor
    print "gc.gcStr: ",gc.gcStr
    print "done"
[http://www01.voip99.com 麻将机][http://www02.voip99.com 起重机][http://www03.voip99.com 成人用品][http://www04.voip99.com 可视电话][http://www05.voip99.com 电力猫][http://www06.voip99.com 无线上网卡][http://www07.voip99.com 电梯][http://www08.voip99.com 叉车][http://www09.voip99.com 轮胎][http://www10.voip99.com 电子仪器][http://www11.voip99.com 汽车配件][http://www12.voip99.com 涂料][http://www13.voip99.com 化工机械][http://www14.voip99.com 干燥设备][http://www15.voip99.com 颜料][http://www16.voip99.com 钛白粉][http://www17.voip99.com 塑料制品][http://www18.voip99.com 阀门][http://www19.voip99.com 纯水设备][http://www20.voip99.com 医用电子][http://www21.voip99.com 电动自行车][http://www22.voip99.com 保险柜,保险箱][http://www23.voip99.com 减震器][http://www24.voip99.com 生物识别][http://www25.voip99.com 防伪技术][http://www26.voip99.com 防火材料][http://www27.voip99.com 印刷机][http://www28.voip99.com 耐火材料][http://www29.voip99.com 照明][http://www30.voip99.com 制冷][http://www31.voip99.com 涂装][http://www32.voip99.com 电镀][http://www33.voip99.com 表面处理][http://www34.voip99.com 床上用品][http://www35.voip99.com 继电器][http://www36.voip99.com 工艺品][http://www37.voip99.com 机床][http://www38.voip99.com 电子秤][http://www39.voip99.com 电路板][http://www40.voip99.com 干燥剂][http://www41.voip99.com 弹簧][http://www42.voip99.com 纸箱][http://www43.voip99.com 丝印][http://www44.voip99.com 纳米焊条][http://www45.voip99.com 升降机][http://www46.voip99.com 反光材料][http://www47.voip99.com 打标机][http://www48.voip99.com 温湿度计][http://www49.voip99.com 热处理设备][http://www50.voip99.com 冷水机][http://aaa01.zhiliaotuofa.com 包装设计][http://aaa02.zhiliaotuofa.com 压缩机][http://aaa03.zhiliaotuofa.com 手机窃听器][http://aaa04.zhiliaotuofa.com 电话变声器][http://aaa05.zhiliaotuofa.com 针孔摄像机][http://aaa06.zhiliaotuofa.com 振动筛][http://aaa07.zhiliaotuofa.com 空气净化][http://aaa08.zhiliaotuofa.com 吸塑制品][http://aaa09.zhiliaotuofa.com 伺服电机][http://aaa10.zhiliaotuofa.com 机电设备][http://aaa11.zhiliaotuofa.com 超声波设备][http://aaa12.zhiliaotuofa.com 电阻][http://aaa13.zhiliaotuofa.com 活性炭][http://aaa14.zhiliaotuofa.com 实验室设备][http://aaa15.zhiliaotuofa.com 玻璃器皿][http://aaa16.zhiliaotuofa.com 耗材][http://aaa17.zhiliaotuofa.com 集成电路][http://aaa18.zhiliaotuofa.com 连接器][http://aaa19.zhiliaotuofa.com 电容器][http://aaa20.zhiliaotuofa.com 节能灯][http://aaa21.zhiliaotuofa.com 断路器][http://aaa22.zhiliaotuofa.com 电动机][http://aaa23.zhiliaotuofa.com 密封件][http://aaa24.zhiliaotuofa.com 电动工具][http://aaa25.zhiliaotuofa.com 办公家具][http://aaa26.zhiliaotuofa.com 热水器][http://aaa27.zhiliaotuofa.com 金属丝网][http://aaa28.zhiliaotuofa.com 磁性材料][http://aaa29.zhiliaotuofa.com 铝制品][http://aaa30.zhiliaotuofa.com 蓄电池][http://aaa31.zhiliaotuofa.com 锁具][http://aaa32.zhiliaotuofa.com 锂电池][http://aaa33.zhiliaotuofa.com 塑料玩具][http://aaa34.zhiliaotuofa.com 电动车][http://aaa35.zhiliaotuofa.com 防盗器][http://aaa36.zhiliaotuofa.com 印刷机械][http://aaa37.zhiliaotuofa.com 太阳能热水器][http://aaa38.zhiliaotuofa.com 变送器][http://aaa39.zhiliaotuofa.com 标准件][http://aaa40.zhiliaotuofa.com 仪器仪表][http://aaa41.zhiliaotuofa.com 推土机,压路机][http://aaa42.zhiliaotuofa.com 绝缘材料][http://aaa43.zhiliaotuofa.com 电线电缆][http://aaa44.zhiliaotuofa.com 稳压器][http://aaa45.zhiliaotuofa.com 硒鼓,深圳硒鼓,墨盒,深圳墨盒,色带][http://aaa46.zhiliaotuofa.com 充气床][http://aaa47.zhiliaotuofa.com 数码电话][http://aaa48.zhiliaotuofa.com 钢管][http://aaa49.zhiliaotuofa.com 风机][http://aaa50.zhiliaotuofa.com 锅炉][http://w01.voip99.net 变频器][http://w02.voip99.net 润滑油][http://w03.voip99.net 离合器][http://w04.voip99.net 狐臭][http://w05.voip99.net 糖尿病][http://w06.voip99.net 电容][http://w07.voip99.net 灰指甲][http://w08.voip99.net 近视眼][http://w09.voip99.net 脱毛][http://w10.voip99.net 净水器][http://w11.voip99.net 蜂蜜][http://w12.voip99.net 紧固件][http://w13.voip99.net 制服][http://w14.voip99.net 健身器材][http://w15.voip99.net 太阳能热水器][http://w16.voip99.net 婚纱摄影][http://w17.voip99.net LED][http://w18.voip99.net 酒店][http://w19.voip99.net 水表][http://w20.voip99.net 锅炉][http://w21.voip99.net 打包机][http://w22.voip99.net 痔疮][http://w23.voip99.net 发电机][http://w24.voip99.net 深圳装饰][http://w25.voip99.net 切割机][http://w26.voip99.net 深圳印刷][http://w27.voip99.net 深圳条码][http://w28.voip99.net 激光设备][http://w29.voip99.net 照排机][http://w30.voip99.net 餐具][http://w31.voip99.net IP超市计费系统][http://w32.voip99.net 网络电话][http://w33.voip99.net VOIP网关][http://w34.voip99.net IP电话][http://w35.voip99.net 软交换][http://w36.voip99.net GK][http://w37.voip99.net 网络电话][http://w38.voip99.net 治疗脱发][http://w39.voip99.net 治疗脱头发][http://w40.voip99.net 网络电话卡][http://w41.voip99.net VOIP][http://w42.voip99.net VOIP网络电话][http://w43.voip99.net 脂溢性脱发][http://w44.voip99.net 脱发特效药][http://w45.voip99.net 生发产品脱发产品][http://w46.voip99.net 治疗白发][http://w47.voip99.net 毛发移植][http://w48.voip99.net 头发移植][http://w49.voip99.net 自体毛发移植][http://w50.voip99.net 皮肤病][http://w51.voip99.net 伟哥][http://w52.voip99.net 高血压][http://w53.voip99.net 交换机][http://w54.voip99.net 注册香港公司][http://w55.voip99.net 补品][http://w56.voip99.net 增高][http://w57.voip99.net 壮阳][http://w58.voip99.net 青春痘][http://w59.voip99.net 化妆品][http://w60.voip99.net 治脚气][http://w61.voip99.net 鱼鳞病][http://w62.voip99.net 白癜风][http://w63.voip99.net 语音网关][http://w65.voip99.net ip超市][http://w66.voip99.net 话吧][http://w67.voip99.net ip公话超市][http://w68.voip99.net 集团电话][http://w69.voip99.net 保健品][http://w70.voip99.net 板蓝根][http://w72.voip99.net 防盗门][http://w71.voip99.net 监控][http://w73.voip99.net 包装机][http://w74.voip99.net 电缆][http://w75.voip99.net 门禁][http://w76.voip99.net 瓷砖][http://w77.voip99.net 电机][http://ww0.voip99.com 耳机][http://ww1.voip99.com 卫星电视][http://ww0.voip99.net 监视器][http://ww1.voip99.net 变压器][http://ww2.voip99.net 对讲机][http://ww3.voip99.net 传感器][http://ww4.voip99.net 电子元器件][http://ww0.zhiliaotuofa.com 刀具][http://ww1.zhiliaotuofa.com 地毯][http://ww2.zhiliaotuofa.com 竹炭][http://ww3.zhiliaotuofa.com 深圳机票][http://ww4.zhiliaotuofa.com 胶袋,深圳胶袋][http://ww5.zhiliaotuofa.com 胶带,深圳胶带][http://ww2.voip99.com 机票][http://ww5.voip99.net 光端机][http://www.voip99.com/ voip交易网][http://www.zhiliaotuofa.com/ 脱发治疗网][http://jipiao.voip99.com/ 深圳机票][http://sudi.voip99.com/ 快递|速递公司][http://shipinhuiyi.zhiliaotuofa.com 视频会议][http://zuche.voip99.net 汽车租赁][http://tiezhi.zhiliaotuofa.com 贴纸][http://yinshuiji.zhiliaotuofa.com 饮水机][http://buxiugang.voip99.com 不锈钢][http://shuijing.zhiliaotuofa.com 水晶][http://rongzi.voip99.net 融资][http://weixiu.voip99.net 电脑维修][http://chuguo.voip99.com 出国][http://kuaiguan.voip99.com 开关电源][http://mojv.voip99.net 模具][http://nami.voip99.net 纳米][http://chuli.zhiliaotuofa.com 污水处理][http://wuye.zhiliaotuofa.com 物业管理][http://yimin.zhiliaotuofa.com 移民][http://muqiang.voip99.net 幕墙][http://wujin.zhiliaotuofa.com 五金][http://ww3.voip99.com 私家侦探][http://www01.agreatserver.com 六合彩][http://jipiao.voip99.com/ 深圳机票][http://vod.voip99.net 视频点播][http://sudi.voip99.com/ 速递公司][http://guojihuoyun.voip99.com 国际货运][http://baojingqi.voip99.com 报警器][http://chaye.voip99.com 茶叶][http://mudiban.voip99.net 实木地板][http://qianzheng.voip99.com 签证][http://kaoqinji.voip99.com 考勤机][http://jiudian.voip99.net 深圳酒店]
}}}
 
 

 
 
--Joel Boehland
 
= Discussion =
 
So, it seems to me:
 
{{{
#!python
class SimpleCmp(binding.Component):
    __eggs = binding.Make(Eggs, offerAs=[IEggs, EGGS_PROPERTY])
}}}
 
This means: "When you make a SimpleCmp, it has within it a variable __eggs. __eggs is an Eggs. When someone asks for the SimpleCmp's IEggs interface, patch it through to my internal __eggs. And when they ask for the SimpleCmp's EGGS_PROPERTY, also patch them through to my internal __eggs."
 
It also seems that: If a component has another component within it, that if the child component requests an interface, it firsts check ''locally'' for it, and if it's not found locally, it checks it's ''parent'' for it. And if not there, still higher up the chain (grandparent.)
 
Am I understanding right?
 
Next, I naturally wonder: "What for? What kinds of things do you get from this?" I'm not saying there isn't, I'm just not used to thinking this way. I'd like to get excited about it, by understanding what it can do for me.
 
-- LionKimbro [[DateTime(2005-04-17T13:58:41)]]
 
I think it is done to have a flexible InversionOfControl mechanism. That is the wiring between elements is made "magicaly". It's very flexible since you can change a piece with another without worrying to change the code of objects using it or an object doesn't have to know which object uses it.
 
-- AlexG [[DateTime(2005-05-12T14:30:00)]]

PythonPowered
ShowText of this page
EditText of this page
FindPage by browsing, title search , text search or an index
Or try one of these actions: AttachFile, DeletePage, LikePages, LocalSiteMap, SpellCheck