Какой шаблон дизайна я использую для этого? - PullRequest
0 голосов
/ 09 ноября 2010

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

Базовым классом является CellPhonePlan. CellPhonePlan имеет два свойства:

  • int MonthlyPrice
  • Список типов строк, StandardFeatures

Где StandardFeatures может включать значение, такое как «время разговора 200 минут».

Я также хочу предоставить некоторые дополнения к стандартному CellPhonePlan. Такие как

1) Семейный план

  • int Цена
  • Список типов строк, Характеристики

2) WeekendPlan

  • int Цена
  • Список типов строк, Характеристики

Я хочу иметь возможность выбирать StandardFeatures, FamilyPlan и WeekendPlan, и их цена и характеристики отражают варианты, которые я сделал. Я также хотел бы знать, как лучше всего представить это с помощью шаблона проектирования!

Спасибо


Извините, я не слишком ясно объяснил. То, что я после, имеет базовый план плюс семья, плюс выходные. Таким образом, все значения складываются.

Ответы [ 2 ]

4 голосов
/ 09 ноября 2010

Шаблон проектирования не требуется ...

class CellPhonePlan
{
    int MonthlyPrice { get; set; }
    List<string> Features { get; set; }
}

var standardPlan = new CellPhonePlan
{
    MonthlyPrice = 10,
    Features = new List<string>() { "200 minutes call time", "texting" }
};

var familyPlan = new CellPhonePlan
{
  MonthlyPrice = 20,
  Features = new List<string>() { "500 minutes call time", "texting", "shared between a family" }
};

var weekendPlan = new CellPhonePlan
{
  MonthlyPrice = 5,
  Features = new List<string>() { "200 minutes call time", "but you can only talk on weekends" }
};
1 голос
/ 09 ноября 2010

Похоже, что он может хорошо вписаться в шаблон Decorator , если вы действительно хотите использовать шаблон проектирования.

...