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

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 и не забывать для какого контрола (идентификатора) выставляешь или запрашиваешь свойства.

Спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.