Intereting Posts
Функция mysql_query (INSERT …) не работает в моем коде Delphi TIdhttp Post JSON? Как получить доступ к Json Response Как загрузить файлы в подпапку Amazon S3 с помощью POST? лучший алгоритм хранения паролей в 2016 году Интеграция PayPal, как я могу определить учетную запись получателя? Установка переменной в оператор, выполняющий ее Добавить дополнительный текст в конце всех ссылок в определенном классе Как я могу уловить фатальную ошибку в PHP? Проверка того, является ли продукт Magento дочерним по отношению к настраиваемому продукту Вход не работает в приложении androip «Замечание PHP: неопределенное свойство» Попытка вызвать неопределенный метод с именем «getRequest» класса. Отправить по электронной почте в SwiftMailer Symfony Здесь он работает из WHILE. Внутри это не работает, почему? PHP с использованием регулярного выражения для синтаксического анализа строки запроса

Использовать образец прототипа или нет

У меня есть вопрос. Мне нужно создать небольшую вещь, связанную с продуктами. Теперь я могу сказать 7 разных типов продуктов. Некоторые из них являются подтипами других, например

Cars - Vans - petrol - diesel - City - Hatchback - Saloon - Estate - petrol - diesel 

Теперь, ради аргумента, все мои автомобили City, Hatchback и Saloon являются гибридными / газовыми / независимо, и я не планирую продавать бензин и дизельные. Однако есть вероятность, что в будущем у меня могут быть автомобили с бензиновым и дизельным салоном, но это не значит, что у меня будет 20 продуктов. Если он будет расти, у меня будет, вероятно, еще 2-3 типа.

Из того, что я понимаю, Prototype Pattern может быть хорошим здесь, потому что я смогу избежать дублирования между имуществом -> бензином и van -> бензином …, но опять же вагоны будут иметь разные характеристики, чем городские автомобили, например, максимальные размеры загрузки.

Я много читал о шаблонах проектирования, и одна вещь, которую я помню наверняка, – это не использовать шаблон, когда он вам не нужен. Теперь вопрос: мне это нужно?

Благодаря!

Образец декоратора, вероятно, наиболее прямолинейный, который можно использовать, и будет хорошим для расширения функциональности и / или характеристик конкретных объектов.

Вот некоторые легкие чтения: Head First Design Patterns – CH3 pdf

FYI, пара должна иметь для обучения и ссылки на образцы дизайна, независимо от вашего языка выбора:

1) Образцы первых образцов дизайна

2) Шаблоны для архитектуры корпоративных приложений

3) Шаблоны проектирования: элементы многоразового объектно-ориентированного программного обеспечения

И сайты:

1) DoFactory

2) Шаблоны дизайна StackOverflow

Есть еще несколько, мне придется их выкопать.

Каждый тип автомобиля требует другого поведения? Бензиновый фургон отличается от дизельного автомобиля? Салон должен вести себя иначе, чем поместье?

Если я правильно понимаю, вам нужно что-то подобное

 public enum FuelType { Petrol, Diesel } public class Car { public string Name {get;set;} public FuelType Fuel {get;set;} } public class Van:Car { } public class CityCar:Car { } 

Если характеристики Van – это просто разные значения, чем автомобиль, вам не нужно подклассифицировать, вам нужно изменить только значение свойства. Например, Van должен иметь другие свойства или различную реализацию методов, подходящих для подкласса.