Design Patterns? What does that actually mean? Well, it means what it means generally. But in application to software engineering it has a more abtract and elaborate meaning. Design Patterns in terms of software engineering, can be compared to culinary in a sense. In culinary, there are many methods to cook certain types of dishes and as such many of the methods to cook one dish may be also applied to cook a whole different dish. This is basically what Design Patterns are, but instead of cooking methods it is like an outline/design to code something and we already use these design patterns off the bat when first started learning. For example, the way we go through certain collections effeciently with certain commands or by the way we code something is a design pattern, more specfically the term of iterating. This is a type of design pattern that we use quite often in our everyday coding and we don’t realize that it is a design pattern as we just learn it as is and subconciously use it when to speed up development of our code. And that is the purpose for design patterns, to help us quickly development our code in an effecient manner.
Learing about design patterns, I have never realized that what I have been using in my code were called “Design Patterns” and I have been using them as if you were second nature to me already. The design patterns that I commonly use in my code as mention above is the Iterator design pattern. The Iterator design provides an efficient way to go through your collections and other things from other places of your code without having your certain parts of your code interfere with each other. Many other use this design pattern of course since this design pattern is implemented within C++ and Java as a class to call.