Summary
Creational design patterns play a very important role in software application design. They help in transparently centralizing object instantiation logic with respect to basic object-oriented principles. The examples showed that each pattern may have multiple implementations. This is because the implementation decision may depend on other software architecture factors. Those factors take into account JVM heap and stack usage, application runtime, or business logic encapsulation.
Using design patterns implicitly for authoring promotes a DRY approach, which has a positive impact on application development and reduces code base pollution. The application becomes testable and software architects have a framework to confirm the presence of expected objects inside the JVM. This becomes particularly important when a logic issue is identified, which could be an exception or unexpected results. A well-created code base helps to get into the root cause quite fast, maybe even without...