Rendre les membres privés et fournir des méthodes getter et setter pour garantir un accès sécurisé.
Rendre le constructeur privé et le remplacer par une méthode statique ordinaire. Il y a trois avantages par rapport au constructeur : a. Le nom peut être plus significatif et clair en un coup d'œil Ce n'est pas nécessaire ; pour l'appeler à chaque fois Construire une nouvelle instance c. Vous pouvez renvoyer un type plus flexible, comme une sous-classe de cette classe, pas nécessairement cette classe. Le quatrième avantage, celui de l'inférence de type pour simplifier la syntaxe, a été amélioré avec l'introduction de la syntaxe diamant dans Java 7. --《Java efficace》 2ème
Le mode usine simple et le mode singleton peuvent fournir des instances flexibles, réduire le coût de création d'instances, garantir un statut cohérent, etc...
f est la nouvelle classe factory(). getinstance est une instanciation de la classe d'usine. Appelez cette méthode pour obtenir une instanciation de la classe, puis vous pourrez appeler la méthode interne de la classe d'usine
Cette méthode getInstance() :
Rendre les membres privés et fournir des méthodes getter et setter pour garantir un accès sécurisé.
Rendre le constructeur privé et le remplacer par une méthode statique ordinaire. Il y a trois avantages par rapport au constructeur : a. Le nom peut être plus significatif et clair en un coup d'œil Ce n'est pas nécessaire ; pour l'appeler à chaque fois Construire une nouvelle instance c. Vous pouvez renvoyer un type plus flexible, comme une sous-classe de cette classe, pas nécessairement cette classe. Le quatrième avantage, celui de l'inférence de type pour simplifier la syntaxe, a été amélioré avec l'introduction de la syntaxe diamant dans Java 7. --《Java efficace》 2ème
Le mode usine simple et le mode singleton peuvent fournir des instances flexibles, réduire le coût de création d'instances, garantir un statut cohérent, etc...
f est la nouvelle classe factory(). getinstance est une instanciation de la classe d'usine. Appelez cette méthode pour obtenir une instanciation de la classe, puis vous pourrez appeler la méthode interne de la classe d'usine
.