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