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