Использование паттернов проектирования при разработке приложения "Новогодний подарок" - 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();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д