代码之家  ›  专栏  ›  技术社区  ›  Thorsten Lorenz

wpf中使用的模式

  •  3
  • Thorsten Lorenz  · 技术社区  · 16 年前

    我和wpf的关系已经有一年多了。很多事情都是新的,有时我很难把自己的头裹住。

    同时我正在重读gof设计模式书。

    有几次我会停在中间,因为我会意识到某个模式正是某些wpf功能中使用的模式。每当我意识到这一点时,我觉得我对wpf相关原理的理解有了很大的飞跃。这有点像一个aha效应。

    我还意识到,例如,理解prism要容易得多,因为文档在解释所涉及的模式方面做得非常好。

    所以这里是我的“问题”(更像是一种努力):

    为了帮助我们大家理解 最好有人来 他还“发现”了 wpf可以给出一个简短的解释。

    我发现一个很明显的例子是路由事件:

    如果子级检测到事件 控件,但没有处理程序 指定,它将其传递给 父母等直到最后 已处理或找不到父级。

    假设按钮上有图像 在一个堆垛板里面 在窗户里。如果用户单击 图像,事件将是 由它处理(如果处理代码 或“气泡”直到 其中一个控件处理它。所以 每个控件都有机会 按这个顺序反应。

    1. 图像
    2. 纽扣
    3. 堆栈面板
    4. 窗口

    一旦控件处理它, 气泡会停止。

    这是一个简短的解释 更准确地说,可以咨询wpf 文学。

    这种功能代表 “ Chain of Responsibility 设计模式“如果 他们的请求,通过了 沿着责任链给予 每个物体都有机会处理 它。请求的发件人没有 谁来处理这件事 解耦。为了更彻底 按照链接解释。

    这里的目的仅仅是为了展示这个(看似10多年前的)想法是如何融入到我们当前的技术中的,并提供另一种看待它的方式。

    我认为这足以作为一个开始,并希望更多的相似之处将收集在这里。

    干杯,托尔斯滕

    2 回复  |  直到 16 年前
        1
  •  0
  •   Patrick    16 年前

    我不认为它是特定于wpf的,但是观察器设计模式似乎是.net和wpf中所有事件处理的基础。

    观察者设计模式被描述为“定义对象之间的一对多依赖关系,这样当一个对象改变状态时,它的所有依赖项都会被自动通知和更新。”在.NET中,使用“+=运算符”可以订阅这种状态更改。随后,您使用-=运算符取消订阅。

        2
  •  -1
  •   Echilon Mafarnakus    16 年前

    我认为命令绑定对我的开发方式非常重要和基础。

    推荐文章