ComponentX
Компонент написан с использованием двух паттернов: MVP, Observer.
MVP:
в качестве View выступает непосредственно класс самого компонента ComX.Comp.TComX,
а в качестве Model и Presenter - класс ComX.DataModel.TComXDataModel (Model и Presenter объединил в один класс для упрощения).
Observer:
по ТЗ компонент может быть как подписчиком так и издателем. По этой причине класс ComX.DataModel.TComXDataModel выступает в двух ролях (подписчик, издатель).
Для разграничения функционала реализован класс ComX.DataModel.Publisher.TComXPublisher , который инкапсулируется классом ComX.DataModel.TComXDataModel .
Функция компонента:
• Xранит в себе некоторое число, ограниченное предварительно установленными минимальными и максимальными значениями.
• При помощи GUI позволяет хранимое число увеличивать/уменьшать на единицу.
• В зависимости от одного из трех предустановленных ролей и подписки может рассылать и получать измененное значение.
При установке компонента не забудьте прописать путь к исходникам компонента .\ComponentX\units в IDE.