Я пытаюсь придумать эффективный подход к итерации иерархической коллекции объектов домена и сопоставить их с соответствующими им моделями представления.
Предположим, что у меня есть следующие два типа объектов домена:
(1) Папка - у этого объекта есть две коллекции - одна коллекция объектов папок и одна коллекция объектов Item.
(2) Item
Теперь у меня есть два класса модели представления - один для объекта домена Folder и один для объекта Item. Я хочу иметь возможность эффективно выполнять итерацию по всей моей иерархической коллекции, и на основе того, является ли объект папкой или элементом, я создам новый класс модели представления для соответствующего объекта домена и передам объект в конструктор модели представления. По сути, я хочу получить представление модели иерархического представления коллекции объектов иерархического домена. Я знаю, что могу сделать это с некоторыми вложенными для каждого, но я подумал, что кто-то может знать, как использовать методы расширения, linq и lambda.
Спасибо за вашу помощь.