Технические требования к библиотеке конструкторов “Constructiva”

Constructiva
Терминальный вариант графического ядра
Краткое описание модулей
Требования
mvp

Для сложных объектно-ориентированных систем хорошо зарекомендовал себя подход по разделению функциональной части системы от ее пользовательского интерфейса. Довольно распространенным является подход на основе модели Model/View/Controller. Цель этой модели обеспечить отделение прикладного объекта (Model) от способа его представления его пользователю (View) и от способа воздействия на него (Controller). Данная модель является наиболее подходящей концепцией для создания конструкторов. Основным понятием конструктора являются элементы, из которых создаются необходимые пользователю конфигурации. Элементы – это абстракция неких объектов обладающих свойствами и функциональностью определенной над этими свойствами. Для визуализации свойств, присущих элементам используются виды или репрезентации. У одного элемента может быть несколько видов. Для изменения свойств элемента используется два пути, первый через специальный редактор свойств, позволяющий наиболее полно и точно настроить объект и с помощью интерактивного воздействия пользователем с помощью мыши или клавиатуры на репрезентацию объекта. ViewController может не присутствовать в View, поэтому он помечен пунктирной линией.

Таким образом библиотека должна содержать ключевых понятия:

  1. Элемент содержащий свойства и функциональность (Element)
  2. Свойства элемента (Property)
  3. Вид элемента (View)
  4. Контроллер свойств элемента (Property Controller & View Controller)

Элементы должны поддерживать иерархическое владение по схеме: один родитель (Parent) – несколько детей (Child). В вершине дерева владения стоит корневой элемент (Root) с нулевым родителем. Виды также обладают иерархическим владением, дерево владения видом должно совпадать с деревом владения элементов.

Запись опубликована в рубрике программирование с метками , , , , . Добавьте в закладки постоянную ссылку.

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

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

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>