ciao,
Sto lavorandoad un mio progetto(un piccolo engine) in directx.
ho creato una serie di classi per application data che si occupa principalmente delle risorse , tasti e mouse e finestra di visualizzazione.
Il progetto è distribuito appunto su 3 classi che ereditano dalla prima(risorse) all ultima (gestione finestra directx) in cui sono implementate le utilità riguardo all argomento(input,risorse,dx).
l'ultima classe è poi la candidata ad essere ereditata per uno o n progetti applicazione diversi.

Io per quanto riguarda ad es l'input vorrei agganciarmi alla classe applicazione(observable) con un observer e per ricevere sulla classe che voglio(observer puo essere ad es un personaggio controllato dai tasti o una camera controllata dal mouse) gli input dei tasti e del mouse dalla classe applicazione.
Tipo un sistema di messaggi.

Il problema è che una classe potrebbe agganciarsi sia ai tasti che al mouse per es..
e a questo punto la stessa classe deve agganciarsi due volte alla classe applicazione
inoltre mouse e tastiera avranno due tipi di messaggi differenti.

E' corretto implementare un sistema di messaggistica secondo voi o (non so?) è meglio starci lontano?

ho trovato questo articolo su codeproject:
http://www.codeproject.com/KB/cpp/CppEvents.aspx
che è un po intricato ma potrebbe fare a caso mio, è proprio questa "intricatezza" che mi da qualche dubbio sui messaggi , che per altro secondo me potrebbero essere interessanti.
soprattutto in un eventuale logica dell' applicazione.
grazie.