Singleton as a Network Management Pattern
The singleton pattern is often used where you want just one (and only one) instance of a class in a given JVM. This can be useful for applications that require a single point of entry for a block of functionality—e.g., order fulfillment in our example domain. In the telecom world, it's often highly important to have ordered use of devices, such as routers or legacy network elements. By “ordered,” I mean configuration commands are sent at a pre-determined rate of arrival so as not to overwhelm the device. In many cases, the devices implement network management facilities in code that have a lower priority than the traffic handling code. Remember, network devices have a lot of work to do besides responding to network management commands—all the more so, as network technology speeds and feeds increase.
In effect, resource consumption can be controlled using the Singleton pattern.