Scarica il pdf
1) Spiegare cos'è Java Design Pattern?
Un design pattern è una strategia indipendente dal linguaggio per risolvere problemi comuni di progettazione orientata agli oggetti. Descrive come strutturare le classi per soddisfare un determinato requisito.
2) Spiegare cosa sono i modelli di design creazionale e il modello di fabbrica?
Modello di progettazione creazionale : questo modello viene utilizzato per definire e descrivere come vengono creati gli oggetti al momento dell'istanza della classe.
Modello di fabbrica : il modello di fabbrica viene utilizzato per creare un oggetto senza esporre la logica di creazione al client e fare riferimento a un oggetto appena creato utilizzando un'interfaccia comune.
3) Quale modello di progettazione viene utilizzato per ottenere un modo per accedere agli elementi di un oggetto della raccolta in modo sequenziale?
Il pattern iteratore viene utilizzato per ottenere un modo per accedere agli elementi di un oggetto di raccolta in modo sequenziale.
4) Quando viene utilizzato il modello di localizzazione del servizio?
Quando vogliamo individuare vari servizi utilizzando JNDI, utilizziamo il pattern di localizzazione dei servizi.
5) Indica in quanti modi puoi creare pattern singleton?
Per creare oggetti singoli ci sono due modi famosi
- Caricamento lento
- Caricamento desideroso
6) Indicare quale modello viene utilizzato quando è necessario disaccoppiare un'astrazione dalla sua implementazione?
Quando vogliamo disaccoppiare un'astrazione dalla sua implementazione in modo che due possano variare indipendentemente, usiamo il pattern bridge.
7) Indicare quale design pattern sarà utile per aggiungere nuove funzionalità a un oggetto esistente?
Un motivo decorativo consente a un utente di aggiungere nuove funzionalità a un oggetto esistente senza modificarne la struttura.
8) Spiega come puoi creare una classe Singleton in Java?
È un processo in due fasi,
- Innanzitutto rendi privato il costruttore in modo che il nuovo operatore non possa essere utilizzato per istanziare la classe
- Restituisce un oggetto dell'oggetto se non è nullo altrimenti crea l'oggetto e restituisci lo stesso tramite un metodo.
9) È possibile scrivere singleton thread-safe in Java?
Per scrivere singleton thread-safe in Java esistono diversi modi, ad esempio utilizzando l'istanza singleton statica inizializzata durante il caricamento della classe, scrivendo singleton utilizzando il blocco a doppio controllo. Java Enum è il modo più semplice per creare singleton thread-safe.
10) Indicare come si dovrebbe descrivere un design pattern?
Per descrivere un modello di progettazione, è necessario occuparsi delle seguenti cose
- Nome e classificazione del modello
- Problema e soluzione
- Conseguenze: dovrebbero essere affrontate anche le variazioni e le alternative dipendenti dalla lingua
- Conoscere gli usi: identificare gli usi nei sistemi reali e la sua efficienza
11) Indicare perché l'accesso alla variabile non statica non è consentito dal metodo statico in Java?
Non è possibile accedere a dati non statici dal contesto statico perché le variabili non statiche sono associate a un'istanza specifica di un oggetto mentre static non è associata a nessuna istanza.
12) Indicare quale pattern è utile quando si devono passare dati con più attributi in un colpo solo da client a server?
Transfer Object Pattern è utile quando si devono passare dati con più attributi in un colpo solo dal client al server.
13) Nomina alcune delle entità del pattern DAO?
Alcune delle entità di DAO includono,
- Classe concreta dell'oggetto di accesso ai dati
- Interfaccia oggetto di accesso ai dati
- Oggetto modello o oggetto valore
14) Indica quando puoi utilizzare lo schema di intercettazione?
Il pattern di intercettazione viene utilizzato quando è necessario eseguire una pre-elaborazione o una post-elaborazione con richiesta o risposta dell'applicazione.
15) Indicare quando utilizzare un Factory Pattern?
È possibile utilizzare il modello di fabbrica,
- Quando una classe non sa quale classe di oggetti deve creare
- Quando la classe specifica le sue sottoclassi per specificare quali oggetti creare
- Nel linguaggio di programmazione, è possibile utilizzare il modello di fabbrica in cui è necessario creare un oggetto di una qualsiasi delle sottoclassi a seconda dei dati forniti
16) Spiegare in pattern singleton se è meglio sincronizzare l'intero metodo getinstance () o è sufficiente solo la sezione critica? Quale è preferibile?
La sincronizzazione dell'intero metodo getinstance () è costosa ed è necessaria solo durante l'inizializzazione sull'istanza singleton, per interrompere la creazione di un'altra istanza di Singleton. Pertanto è meglio sincronizzare solo la sezione critica e non l'intero metodo.
17) Indica in quanti modi puoi scrivere classi singleton in Java?
Si può scrivere una classe singleton in Java in quattro modi
- Singleton con campo finale statico pubblico inizializzato durante il caricamento della classe
- Singleton generato da una classe annidata statica, denominata anche modello di contenitore singleton
- Singleton sincronizzando il metodo get instance ()
- Da Java 5 in poi utilizzando Enums
18) Spiega come puoi impedire la creazione di un'altra istanza di singleton usando il metodo clone ()?
Il modo preferito per impedire la creazione di un'altra istanza di un singleton è di non implementare l'interfaccia clonabile e se si genera semplicemente un'eccezione dal metodo clone () "non creare un clone della classe singleton".
19) Indica qual è la differenza tra "lancia" e "lancia"?
La parola chiave "Throw" viene utilizzata per lanciare esplicitamente come un'eccezione, mentre "Throws" viene utilizzata per gestire le eccezioni verificate per reintrodurre il compilatore che le eccezioni vengono gestite. I lanci devono essere usati nella definizione del metodo e anche durante l'invocazione del metodo che solleva eccezioni verificate.
20) Indica quali classi in JDK usano il pattern singleton?
Le classi Java.lang.Runtime utilizzano il pattern singleton in JDK.
21) Indica qual è la limitazione dell'uso del pattern singleton?
Il pattern singleton garantisce che una classe abbia una sola istanza e fornisca un punto di accesso globale ad essa. Ma allo stesso tempo questo diventa il suo limite poiché la maggior parte delle classi in un'applicazione sarà necessario creare più istanze.
22) Indica qual è la differenza tra VO e JDO?
La differenza tra JDO e VO è che JDO è una tecnologia persistente che compete con i bean di entità nello sviluppo di applicazioni aziendali. Ti consente di creare POJO (semplici vecchi oggetti Java) e di renderli persistenti nel database.
Mentre VO sta per oggetti valore rappresenta un modello di progettazione astratto utilizzato in combinazione con i bean di entità, jdbc e forse anche JDO per superare l'isolamento e i problemi transazionali comunemente riscontrati nelle app aziendali.