Использование паттернов проектирования при разработке приложения "Новогодний подарок" - C#

Узнай цену своей работы

Формулировка задачи:

Использование паттернов проектирования при разработке приложений Создать консольное приложение, удовлетворяющее следующим требованиям: 1. Использовать возможности ООП: классы, наследование, полиморфизм, инкапсуляция. 2. Каждый класс должен иметь исчерпывающее смысл название и информативный состав. 3. Наследование должно применяться только тогда, когда это имеет смысл. 4. При кодировании должны быть использованы соглашения об оформлении кода code convention. 5. Классы должны быть грамотно разложены в структуре проекта. 6. Работа с консолью или консольное меню должно быть минимальным. 7. Для хранения параметров инициализации можно использовать файлы. Новогодний подарок. Определить иерархию конфет и прочих сладостей. Создать несколько объектов-конфет. Собрать детский подарок с определением его веса. Провести сортировку конфет в подарке на основе одного из параметров. Найти конфету в подарке, соответствующую заданному диапазону содержания сахара.

Решение задачи: «Использование паттернов проектирования при разработке приложения "Новогодний подарок"»

textual
Листинг программы
  1. public class Gift : IEnumerable<Candy>
  2. {
  3.     private List<Candy> candies = new List<Candy>();
  4.  
  5.     public uint Weight { get; private set; }
  6.  
  7.     public void Add(Candy candy)
  8.     {
  9.         if (candy == null)
  10.         {
  11.             throw new ArgumentNullException(nameof(candy));
  12.         }
  13.  
  14.         candies.Add(candy);
  15.         Weight += candy.TotalWeight;
  16.     }
  17.  
  18.     public List<Candy> FindBy(uint minSugarWeight, uint maxSugarWeight)
  19.     {
  20.         return candies.Where(candy => candy.SugarWeight >= minSugarWeight && candy.SugarWeight <= maxSugarWeight).ToList();
  21.     }
  22.  
  23.     public void OrderBy<TResult>(Func<Candy, TResult> comparer)
  24.     {
  25.         candies = candies.OrderBy(comparer).ToList();
  26.     }
  27.  
  28.     public void OrderByDesceding<TResult>(Func<Candy, TResult> comparer)
  29.     {
  30.         candies = candies.OrderByDescending(comparer).ToList();
  31.     }
  32.  
  33.     public IEnumerator<Candy> GetEnumerator()
  34.     {
  35.         return candies.GetEnumerator();
  36.     }
  37.  
  38.     IEnumerator IEnumerable.GetEnumerator()
  39.     {
  40.         return GetEnumerator();
  41.     }
  42. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы