В моем .NET приложения, модель данных содержится в нескольких классах: вызов, телефон, подключениеРазработка модели для облегчения взаимодействия между объектами
Для каждого типа, у меня есть «управляющей» сущность (CallManager, PhoneManager и т. Д.).
Каждый тип реализует интерфейс, для того, чтобы иметь возможность переключаться реализации позже, или издеваться некоторые классы для целей тестирования:
public class CallManager : ICallManager
public class PhoneManager : IPhoneManager
Наконец, «мастер» объект имеет ссылку на каждый этих менеджеров и использует их для извлечения/обновления нужного экземпляра объекта (например, создания нового объекта вызова и его сохранения в CallManager, извлечения телефонного объекта из PhoneManager и т. д.).
Такой объект принимает на зависимости от каждого из этих типов:
public class AppManager
{
public AppManager(ICallManager callManager, IPhoneManager phoneManager, etc...)
}
Есть ли принцип конструкции или образец, который облегчает взаимодействие между различными объектами, чтобы облегчить на задаче сохранения данных правильно и обновлении , не имея плотного набора взаимосвязей между всеми этими объектами-менеджерами и не имея одного класса, который зависит от всех других классов?
Так или иначе, класс AppManager будет зависеть от функциональности от 4 разных объектов, которые, в свою очередь, также взаимосвязаны. –
+1 Отличный вопрос. Отличное использование интерфейсов, я бы добавил. – JDB
Возможно, еще какой-нибудь код, чтобы показать, чего вы пытаетесь избежать? Класс AppManager, как контейнер для вашего приложения, необходим для хранения этих ссылок susbsytem, и это нормально, если вы делаете это через интерфейсы. – tcarvin