Допустим, мне нужно использовать нестабильную сборку, которую я не могу преломить. Предполагается, что мой код является клиентом CustomerCollection
, который (неожиданно) представляет собой коллекцию Customer
экземпляров. Каждый экземпляр клиента имеет дополнительные свойства, такие как коллекция Order
экземпляров. Я надеюсь, вы поняли идею.
Так как сборка ведет себя не очень хорошо, мой подход - обернуть каждый класс в фасад, где я могу иметь дело с исключениями и обходными путями и всем этим. (Чтобы усложнить задачу, мне нравится создавать оболочку, которая будет использоваться с WPF в отношении привязки данных.)
Так что мой вопрос касается дизайна обертки, например CustomerCollectionFacade
. Как выставить дерево объектов (клиенты, заказы, свойства заказов)? Хранится ли коллекция CustomerWrapper
в поле или я создаю экземпляры CustomerWrapper
на лету (возможно, в аксессоре получения свойства)?
Любые идеи приветствуются. Спасибо!
Edit:
К сожалению, способ, предложенный krosenvold, не подходит в моем случае. Поскольку поведение дерева объектов очень интерактивное (редактирование из нескольких представлений, события запускаются при изменении свойств), я не буду отказываться от «исходного объекта». Эти изменения должны распространяться на источник. В любом случае, спасибо.