Привет, я застрял в проблеме.Рисунок построителя с вложенными объектами
Я хочу реализовать шаблон строителя, чтобы упростить создание объектов. Проблема, с которой я сталкиваюсь, связана с вложенным объектом. Объект, который я хотел бы создать, содержит в себе список других объектов, и я действительно не знаю, как его решить.
Я хочу быть в состоянии сделать следующее (Упрощенные объекты, например):
Receipt RestaurantReceipt = new ReceiptBuilder()
.withDate("value")
.withName("value")
.AddItem("value")
.WithIngredients("value")
.WithType("value")
.AddItem("value")
.WithIngredients("value")
.WithType("value")
.build();
Или что-то вроде:
Receipt RestaurantReceipt = new ReceiptBuilder()
.withDate("value")
.withName("value")
.AddItem("value", item => {
.WithIngredients("value")
.WithType("value")
})
.AddItem("value", item => {
.WithIngredients("value")
.WithType("value")
})
.build();
Пример должен быть репрезентативным для моей ситуации, хотя, если есть более чем один тип вложенного объекта.
Что делает ваш текущий код для 'ReceiptBuilder' взгляда л Айк? Какова структура элементов, которые вы пытаетесь добавить с помощью «AddItem»? – Jamiec
Является ли общий трюк не возвращать экземпляр как возвращаемое значение из этих операций? Итак, почему бы не '' ... .AddFoo (new Foo(). WithIngredient ("value"). WithType ("value")). ... ''? Просто повторите шаблон для этих подтипов и используйте специальные функции/свойства Add-functions/sub-collection. – BitTickler
Было бы полезно увидеть класс «Получение» – konkked