Re[7]: Refactoring: Extract Class
От: A.J. Россия CintaNotes
Дата: 12.11.04 21:01
Оценка:
Как видишь получилась вариация твоего третьего варианта, с вытекающими (описанными тобой) неудобствами.
В следующем дизайне я постарался свести эти неудобства к минимуму:



Всё что относится к управлению параметрами, вынесено в отдельный абстрактный класс ParameterManager.

Остается неудобство, что надо следить, чтобы id не пересекались.
Это можно делать в одном месте — у controlObject в addParamToAlg()
(на диаграмме этот метод не показан). Это должен делать controlObject, т.к. только он имеет доступ ко
всем контурам и общим параметрам.

Не уверен, что верно изобразил использование синглтона CommonParams (в виде зависимости).

И еще, я бы серьезно подумал, чтобы разделить controlObject на два — один контроллер и один представляющий состояние контролируемого объекта.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.