There is considerable scope for using Java patterns in network management. The same is true for most complex domains. In many cases, network management infrastructure is developed late in the project lifecycle of NE features. So, when a given MPLS feature is being added to a NE platform, the associated MIBs and SNMP entities are often added only after the core device code has been written. This misses an opportunity for adding value by parallel development of device and network management software.
Even with this backdrop, the merit of using Java patterns is the speed at which code can be produced. The code for this article took no more than a day to write. I tried to write it to accommodate generic base classes (e.g., the VirtualCircuit class provides just endpoints) with more specialized behavior provided by subclasses (e.g., the LSP class).
Similarly, other virtual circuit-oriented technologies, such as ATM/FR, can be supported by just providing associated subclasses. It is easy to then expand this LSP class to support other desirable features, such as cloning.