Skip to content

Latest commit

 

History

History
25 lines (24 loc) · 2.05 KB

README.md

File metadata and controls

25 lines (24 loc) · 2.05 KB

otus-cpp-editor

Otus-cpp professional course. Simple text editor MVC

Задание

Спроектировать простейший графический векторный редактор. Подготовить макеты классов, отражающих структуру будущего проекта. Функционал для макетирования следующий:

  • создание нового документа
  • импорт документа из файла
  • экспорт документа в файл
  • создание графического примитива
  • удаление графического примитива

Основной упор сделать на шаблон контроллера (MVC) и полиморфизм. Функции, являющиеся обработчиками GUI, собрать в одном файле с функцией main. Внимание должно быть сосредоточено на декларациях, реализация только в крайнем случае для минимальной демонстрации необходимых вызовов. Проект должен компилироваться, все заголовки должны пройти стадию компиляции. Задание считается выполненным успешно, если все файлы прошли стадию компиляции, все классы охвачены диаграммами, код успешно прошел анализ.

Дополнительные рекомендации

  1. Заложить в интерфейсы использование умных указателей, тем самым решив вопрос владения объектами.
  2. Помнить про принцип единственности ответственности, разделить код на логические модули (классы, функции).
  3. Избегать дублирования кода.