Object creation can be expensive in terms of processing time and memory utilization. While there are cases where multiple object instances are inevitable to getting things done, there are certainly cases where only a single instance of object is sufficient. For example, if your program is only going to access a single database instance, it suffice to dedicate a single object that manages database connection(s) to your database server. Other examples are objects used for logging messages, objects used for loading/saving configuration details, objects used for managing threads and objects used for managing access to shared hardware devices such as the printer.
Many software projects fail because of their programmers having the “just produce the code” mentality. Indeed, the motivation of design patterns is to give programmers a suite of techniques to isolate areas of changes, so that changes become less painful when a bug occurs or when customers demand more functionality out of the software. Personally, before picking up this book, I had learnt design patterns through goggling and piecing up different fragments of knowledge. However, I feel that I need more assurance in order to pioneer the development of a software project.
Implementing blog functionality into my own site has always been one of my geeky dream. Every geek will agree that the technology field is just too exciting, there are always new things out there to learn and experience, and documentation seems to find a place in the least priority list. However, I saw a need to create my own repository so that I can house my learning and reference from them when I need to. The fulfillment of this need was brought about by two important elements.