Perché gli oggetti LocalDate
, LocalTime
, Stream
, ecc. Utilizzano un metodo di fabbrica of()
invece di un costruttore?Perché gli oggetti LocalDate, LocalTime e Stream utilizzano un metodo factory of() invece di un costruttore?
Ho trovato una spiegazione del motivo per cui devono essere utilizzati metodi di fabbrica anziché new
here. Questa risposta dà una serie di motivi, ma l'unica cosa che è rilevante per Java Data/Ora API è la seguente:
a differenza di costruttori, essi non sono tenuti a creare un nuovo oggetto ogni volta che vengono invocati
Come LocalDate
e LocalTime
sono immutabili, probabilmente ha senso utilizzare una fabbrica e riutilizzare gli oggetti esistenti invece di creare un nuovo oggetto ogni volta.
E 'il motivo per cui vengono creati oggetti come LocalDate
e LocalTime
con un metodo factory (vale a dire, LocalDate.of()
)? Ci sono altri motivi?
Inoltre, gli oggetti Stream
sono modificabili. Perché un metodo factory (Stream.of()
) viene utilizzato per creare un Stream
?
Le risposte a [questa domanda sui programmatori] (http://programmers.stackexchange.com/q/322936/187318) potrebbero anche essere interessanti. – Hulk