官术网_书友最值得收藏!

  • Spring 5 Design Patterns
  • Dinesh Rajput
  • 243字
  • 2021-07-08 09:59:32

Singleton design pattern

Ensure a class has only one instance and provide a global point of access to it - GOF Design Patterns

The Singleton pattern is a creational design pattern, it is one of the simplest design patterns in Java. According to the singleton design pattern, the class provides the same single object for each call--that is, it is restricting the instantiation of a class to one object and provides a global point of access to that class. So the class is responsible for creating an object and also ensures that only a single object should be created for each client call for this object. This class doesn't allow a direct instantiation of an object of this class. It allows you to get an object instance only by an exposed static method.

This is useful when exactly one object is needed to coordinate actions across the system. You can create a single pattern using two forms, as listed here:

  • Early instantiation: Creation of instance at load time
  • Lazy instantiation: Creation of instance when required

Benefits of the Singleton pattern:

  • It provides controller access to crucial (usually heavy object) classes, such as the connection class for DB and the SessionFactory class in hibernate
  • It saves heaps of memory
  • It is a very efficient design for multithreaded environments
  • It is more flexible because the class controls the instantiation process, and the class has the flexibility to change the instantiation process
  • It has low latency
主站蜘蛛池模板: 崇礼县| 社会| 山西省| 淮阳县| 芮城县| 张掖市| 平阴县| 威宁| 渭源县| 封丘县| 无为县| 古丈县| 隆德县| 大港区| 资溪县| 内江市| 八宿县| 凤冈县| 张家口市| 龙游县| 潢川县| 赤壁市| 松滋市| 井研县| 汝南县| 银川市| 米泉市| 海原县| 富民县| 昭平县| 漯河市| 敖汉旗| 韩城市| 泸州市| 徐州市| 天镇县| 湖北省| 介休市| 崇左市| 元朗区| 集贤县|