Giorni prima, ho creato domande, quiz e classi principali. Un quiz ha una o più domande. Dalla classe principale, prima creo oggetti Question (il costruttore accetta una serie di numeri). Il Quiz è come quando visualizzo le domande omettendo l'ultimo numero dell'array e l'utente proverà a capire quel numero. Poi da Main ho creato un oggetto Quiz. Da Main I chiamo solo i metodi della classe Quiz e da Quiz Class I chiamiamo solo metodi nella classe Question.
Poi ho anche creato un'applicazione web (con JSP e Servlets) che utilizza le stesse classi di domande e quiz ma non Main. Invece di Main ho usato JSP e Servlets per visualizzare i dati. Quindi, senza modificare le classi del modello (Quiz e Domanda) sono in grado di usarle da altre applicazioni.
Ma ora ho bisogno di aggiungere un SUGGERIMENTO, che fornirà suggerimenti all'utente per ogni domanda. Se vado a modificare queste 2 classi modello, violerò il principio Open-Close. Se sto andando a creare una classe chiamata Hint (un suggerimento per ogni domanda) ed estendo dalla classe delle domande, non ha senso perché il suggerimento non è una domanda. Ma la domanda ha un suggerimento.
Puoi guidare come avere un SUGGERIMENTO nella mia applicazione in modo che io usi le classi precedenti senza modifiche e violando i concetti OOP?