Re: Вопрос по дизайну класса
От: YesSSS Россия  
Дата: 06.11.05 06:19
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Пишу класс — менеджер визуальных свойств контрола. Этот класс будет хранить информацию о шрифте, цвете текста, цвете фона и подобных вещах. В приложении есть несколько контролов (одного типа), но с разными свойствами. Как лучше написать интерфейс для доступа и установки свойств ?


А>Example 1.



А>
А>class ViewManager
А>{
А>public:

А>   COLORREF GetColorForControl_1 ();
А>   void     SetColorForControl_1 ();
А>    ...

А>   COLORREF GetColorForControl_N ();
А>   void     SetColorForControl_N ();

А>private;

А>  COLORREF m_crControl_1;
А>  ...
А>  COLORREF m_crControl_N;
А>}
А>



А>Example 2.


А>
А>class ViewManager
А>{
А>public:

А>   enum ControlType {e_1, e_2...e_N, e_Last};   

А>   COLORREF GetColorForControl_N (ControlType e);
А>   void     SetColorForControl_N (ControlType e);

А>private;

А>  COLORREF m_crControls [e_Last];
А>}
А>


А>То есть в первом случае для каждого контрола свой отдельный интерфейс, во втором все делается через идентификатор. В первом более понятно, во втором надо иметь дело с enum и не забывать для какого контрола (идентификатора) выставляешь или запрашиваешь свойства.


А>Спасибо


Может хватит списка обьектов COLORREF(Ближе ко второму варианту)?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.