D语言中国主页  D语言编辑器SciTE4D   DWin库 D语言官方网站
D语言编译器1.x最新版 OpenSource   Tango   webnews  Wiki

查看完整版本: DFL框架分析2 事件订阅

yidabu 2007-4-27 19:45

DFL框架分析2 事件订阅

DFL框架分析2 事件订阅知识若不分享 实在没有意义 http://www.d-programming-language-china.org 20070427点击下面网址查看原文:http://www.d-programming-language-china.org        by:        ideage        from:        http://ideage.javaeye.com/?page=1        关键字:        DFL 事件 订阅 设计模式 观察者        DFL中的事件订阅(module dfl.event,dfl.control)        一.EventArgs类: 事件参数祖先,传递事件的参数组合,可以进行继承实现更多的参数.        二.Event 模版        1.接受两个模版参数,        2.重载了操作符:        opCatAssign ~ 增加.        opCall 调用        opApply foreach调用        三.例子        控件本身:        1.声明可以订阅事件        [Copy to clipboard] [ - ]CODE:                                Event!(Control, EventArgs) click;                2.事件处理函数( 本文出处: http://www.d-programming-language-china.org )        [Copy to clipboard] [ - ]CODE:                                protected void onClick(EventArgs ea)                    {                        click(this, ea);                    }                3.处理Window的事件消息,触发事件.        [Copy to clipboard] [ - ]CODE:                                protected void wndProc(inout Message msg)                {                    switch(msg.msg)                        {                            case WM_LBUTTONUP:                                onClick(EventArgs.empty);                        }                }                使用控件过程:        4.发生事件要执行的函数.        [Copy to clipboard] [ - ]CODE:                                private void bt_click(Object sender, EventArgs ea)                    {}                5.订阅事件.        [Copy to clipboard] [ - ]CODE:                                bt.click ~= &bt_click ;                四.启示 observer模式的一个好例子.        在D的运行库Phobos中,std.signals 也实现了observer模式.( lastupdate:20070427 最新文章请访问http://www.d-programming-language-china.org )关于一大步成功社区:yidabu提倡在交流中学习,在分享中提高收集感兴趣的知识,写下心得,通过网络与别人一起分享理解一点就实践一步,收获什么就分享什么,成功就是这样一点点一步步累积起来的网络只是一个工具,只有自己身心提高才是实实在在的。d-programming-language-china.org为大家提供一个学习交流各种知识的平台
页: [1]
查看完整版本: DFL框架分析2 事件订阅