Здравствуйте, night beast, Вы писали:
NB>Здравствуйте, andyp, Вы писали:
A>>Здравствуйте,
A>>Есть некая реализация штуковины System из предметной области. Она включает несколько подсистем:
A>>Получается, что:
A>>1.заголовочные файлы, описывающие подсистемы не включаются в system.h (это хорошо, так как подсистемы — деталь реализации)
A>>2. заголовочный файл системы не включается в заголовочный файл подсистемы (это тоже хорошо, так как интерфейс подсистемы не зависит от системы)
A>>Хотелось бы, сохраняя свойства 1 и 2, как-то убрать методы used_by_subsyst из public секции описания класса System потому что они только замусоривают интерфейс системы,
A>>а по факту используются только при ее реализации. Как этого добиться проще всего не теряя скорости выполнения?
NB>pimpl не подойдет?
NB>NB>class System {
NB> struct SystemImpl;
NB> auto_ptr<SystemImpl> m_impl;
NB>public:
NB> System();
NB> ~System();
NB> void some_method(); //интерфейс System
NB>};
NB>
Может и годится. Намекаете на то, что private методы System станут доступны System::SystemImpl ?