设计模型以便于对象之间的交互

本文关键字:对象 之间 交互 模型 于对象 | 更新日期: 2023-09-27 18:36:41

在我的 .NET 应用程序中,数据模型包含在几个类中:呼叫、电话、连接

对于每种类型,我都有一个"管理"实体(呼叫管理器,电话管理器等)。

每种类型都实现一个接口,以便以后能够切换实现,或者模拟某些类以进行测试:

public class CallManager : ICallManager
public class PhoneManager : IPhoneManager

最后,"master"对象具有对这些管理器中的每一个的引用,并使用它们来检索/更新所需的对象实例(例如,创建新的 Call 对象并将其存储在 CallManager 中,从 PhoneManager 检索电话对象等)。

此类对象依赖于以下每种类型:

public class AppManager
{
    public AppManager(ICallManager callManager, IPhoneManager phoneManager, etc...)
}

是否有任何设计原则或模式可以促进各种对象之间的交互,以简化正确维护和更新数据的任务,而无需在所有这些管理器对象之间建立一组密集的相互关系,并且没有依赖于所有其他类的类?

设计模型以便于对象之间的交互

从本质上讲,这听起来像您正在使用调解器模式。但中介器仍然需要访问对象实例。

http://en.wikipedia.org/wiki/Mediator_pattern

听起来您也已经实现了工厂模式,但阅读它可能会带来一些灵感。

http://en.wikipedia.org/wiki/Factory_pattern

您可以想到使用的另一个选项是观察者模式。这有助于减少对象之间的硬互连。您更新一个对象,这将导致一个事件,并且原始修改对象未知的一组对象会收到此事件的通知。这里没有复杂的纵横交错的交流。只需在创建这些对象后立即需要对象的接线。您也可以参考这篇文章。