Re: Про рефакторинг
От: night beast СССР  
Дата: 16.01.12 13:48
Оценка:
Здравствуйте, andyp, Вы писали:

A>Здравствуйте,


A>Есть некая реализация штуковины System из предметной области. Она включает несколько подсистем:



A>Получается, что:

A>1.заголовочные файлы, описывающие подсистемы не включаются в system.h (это хорошо, так как подсистемы — деталь реализации)
A>2. заголовочный файл системы не включается в заголовочный файл подсистемы (это тоже хорошо, так как интерфейс подсистемы не зависит от системы)

A>Хотелось бы, сохраняя свойства 1 и 2, как-то убрать методы used_by_subsyst из public секции описания класса System потому что они только замусоривают интерфейс системы,

A>а по факту используются только при ее реализации. Как этого добиться проще всего не теряя скорости выполнения?

pimpl не подойдет?
class System {
    struct SystemImpl;
    auto_ptr<SystemImpl> m_impl;
public:
    System();
    ~System();
    
    void some_method(); //интерфейс System 
};
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.