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

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

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

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

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

textual
Листинг программы
public class Gift : IEnumerable<Candy>
{
    private List<Candy> candies = new List<Candy>();
 
    public uint Weight { get; private set; }
 
    public void Add(Candy candy)
    {
        if (candy == null)
        {
            throw new ArgumentNullException(nameof(candy));
        }
 
        candies.Add(candy);
        Weight += candy.TotalWeight;
    }
 
    public List<Candy> FindBy(uint minSugarWeight, uint maxSugarWeight)
    {
        return candies.Where(candy => candy.SugarWeight >= minSugarWeight && candy.SugarWeight <= maxSugarWeight).ToList();
    }
 
    public void OrderBy<TResult>(Func<Candy, TResult> comparer)
    {
        candies = candies.OrderBy(comparer).ToList();
    }
 
    public void OrderByDesceding<TResult>(Func<Candy, TResult> comparer)
    {
        candies = candies.OrderByDescending(comparer).ToList();
    }
 
    public IEnumerator<Candy> GetEnumerator()
    {
        return candies.GetEnumerator();
    }
 
    IEnumerator IEnumerable.GetEnumerator()
    {
        return GetEnumerator();
    }
}

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


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

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

5   голосов , оценка 4.2 из 5
Похожие ответы