Шаблон проектирования: создание ежедневных и еженедельных заданий на основе спецификаций - PullRequest
1 голос
/ 12 августа 2011

Я работаю над проектом, который имеет некоторые входные данные, такие как тип задачи и частота. Например

если тип задачи = Ежедневно и частота = 2, то создайте 5 задач каждый день. Если тип задачи = Ежедневно и частота = 3, то создайте 5 задач на сегодня, на 3-й и 6-й день. Если тип задачи = Еженедельно и частота = 2, создавайте 2 задачи каждую неделю.

Более того, у меня есть таблица календаря, поэтому мне нужно проверить рабочий день, если это выходные, то это задание должно быть создано на следующий рабочий день. У меня также есть таблица calendar_Holidays, поэтому проверьте и обработайте эту дату.

Могу ли я использовать шаблон проектирования для этой проблемы? кто-нибудь может показать мне, как?

Ответы [ 2 ]

5 голосов
/ 12 августа 2011

Вас может заинтересовать статья о повторяющихся событиях в календарях Мартина Фаулера . Он описывает несколько очень интересных методов и шаблонов, которые можно использовать при планировании событий.

1 голос
/ 12 августа 2011

Вы пытаетесь применить шаблоны проектирования слишком рано в своей реализации. Шаблоны проектирования помогают, когда вы определили важные классы и хотите настроить их отношения, например, чтобы уменьшить связь и включить расширение.

Здесь вы еще не определили какие-либо классы, и я бы сказал, что вы даже полностью не поняли свои требования. В какие дни будут создаваться еженедельные задания? Что вы будете делать в другие дни, когда у вас длинные выходные - в Великобритании у нас может быть пятница как выходной, суббота, воскресенье - выходной, а понедельник - выходной - каково ваше правило сейчас. Можете ли вы проводить ежемесячные мероприятия? какие еще интервалы? Опять же, в Великобритании мы платим муниципальный налог ежемесячно, но не в феврале и марте, у вас есть такие случаи?

Так что я бы порекомендовал первым разобраться с вашими требованиями. Затем создайте естественный дизайн ОО, а затем посмотрите, какие шаблоны могут помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...