как-то слышал о концепции, в которой код разделяются на 3 части:
1. занимается только отображением графики
2. занимается только вычислениями
3. осуществляет взаимодействие первых двух
Что касается реализации. Допустим есть 3 класса: CAnyUi (гуя), CAnyCtrl (считалка), CAny (должен ими рулить). Допустим CAnyUi ловит оконное сообщение. есть обработчик этого сообщения CAnyUi::on_command(). это сообщение по идее, должен обработать CAnyCtrl. Так вот вопрос — как можно передать это сообщение CAnyCtrl не нарушив данной концепции?
1. заюзать множественное наследование: CAny : public CAnyUi, public CAnyCtrl. соответственно появляется возможность на своё усмотрение переопределять метод CAnyUi::on_command() и вызывать соответствующий метод CAnyCtrl.
2. добавить в CAnyUi колбек обработчик. то есть на on_command функция, которая уже вызывает соответствующий метод CAnyCtrl.
собственно вопрос. может я что-то упускаю? множественное наследование юзать неохота, да и с колбеками как-то криво получится...
07.08.09 15:58: Перенесено модератором из 'Алгоритмы' — Кодт