用于通过类层次结构冒泡事件的体系结构

本文关键字:事件 体系结构 层次结构 用于 | 更新日期: 2023-09-27 18:35:48

我有一个简单的应用程序,它由一个控制台应用程序和一个类库组成。类库在其几十个类中完成了所有繁重的工作。其中一些类是类库的内部类,即使它们是公共的,我也不希望控制台应用程序完全知道它们。

所以我可以有这样的东西:

  1. 我的程序.cs正在运行的类。
  2. 我的 DoSomething.cs由 Program.cs 调用的类。
  3. 我的DoSomethingInSpecial.cs由DoSomething调用的类.cs
  4. 等等
  5. ,等等。

有没有一种普遍理解的方法让程序.cs意识到较低的变化?

从功能上讲,我希望我的控制台应用程序将较低级别的事件写出到控制台窗口,这就是我尝试这样做的地方。

用于通过类层次结构冒泡事件的体系结构

模块只知道它知道的。

我看到 2.1 适合您的主要路径。

1)在DoSomething中公开程序可以收听的事件。
在DoSomething中特别公开DoSomething可以收听的事件。
当 DoSomething 收到一个事件时,它会决定它是否适合冒泡,并将其转换为自己的一个事件,并引发它供程序接收。

1.1)将数据携带结构/类放在另一个公共库中的事件中。然后,当收到一个事件时,DoSomething不必转换它,而只需要决定是否冒泡它。

2)制作自己的事件处理库来处理谁收到什么。

不知道更多,我会选择1.1。