Решения задачи с Ulearn

Практика «Fractal Painter. DIP»

Скачайте проект DI-container.FractalPainter и запустите его. Перед вами программа, которая умеет рисовать фракталы с заданными настройками. Также можно задавать дополнительные настройки размера изображения и цвета отрисовки (пока что цвет отрисовки можно менять только у кривой Коха). Рекомендуем изучить сам проект и принцип его работы. Это в будущем позволит вам лучше понять, как внедрение DI-контейнера упрощает развитие программы. Начните изучение с файла App\Program.cs. В файлах App\ActionsTask.cs и App\DIContainerTask.cs специально собраны все необходимые классы для выполнения задания. В реальном проекте, конечно, стоило бы каждый класс поместить в собственный файл.

DI-контейнер — очень мощный инструмент в больших проектах, но чтобы приступить к его внедрению, для начала необходимо сделать небольшой рефакторинг проекта в соответствии с Dependency Inversion Principle (DIP). Работайте в файле App\ActionsTask.cs. Вам необходимо отрефакторить все классы, унаследованные от IUiAction, так чтобы в них перестал использоваться класс Services (находящийся в файле DIContainerTask.cs), а все необходимые для работы зависимости принимались через единственный конструктор и хранились в private-полях. Обращения к классу Services должны переместится в конструктор без параметров класса MainForm.

 

Стоимость решения этой задачи всего 100 рублей, купи решения у меня 🙂

Внимание! Решение было обновлено в 2021

Обновлено: 22.05.2021 — 07:55

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.