Questa risposta è fuori dal mio contesto:
OOP
è attualmente programmato con le classi. Se si programma un oggetto, si guarda all'interno dell'oggetto e si modellano le reazioni all'esterno. Non guardi fuori dall'oggetto. È più simile alla programmazione orientata alla classe.
Interaction-oriented
modellate le interazioni (come i casi d'uso) tra gli oggetti.
Penso che sia come scrivere un dramma teatrale con scene. Ogni oggetto agisce insieme alla sceneggiatura. Tutte le interazioni tra gli oggetti sono visibili.
Forse questo è legato al metodo-oggetto-modello in cui si esegue un'attività speciale e si può osservare ciò che viene fatto in questo un oggetto. Può risolvere il fatto che le tue interazioni sono sparse in molte classi.
DCI
per ottenere un aggiornamento su questo dai un'occhiata al paradigma Data-Context-Interaction.
Usa le classi per modellare il dominio.
In ogni contesto si assegnano ruoli agli oggetti. Ciò che un oggetto può fare è definito nel ruolo che gioca. (come in una scena teatrale)
L'interazione si evolve quindi tra i ruoli.