Design Patterns Series

Design Patterns Series

Reading Time: 3 minutes

Design Patterns are the set of tools a professional developer and software engineer should have in his head when tackling a problem. They provide the ad hoc and abstract solutions and guide lines out of the box to the most common problems in the software engineering life cycle. During my studies we have talked about some of them and used them here and there, but we never really dived deep into them. I decided that I have to cover these holes that I have about some of them and try to make small examples and implementation of them in various languages. The book that I use and learn from tis probably the most known software engineering books – Design Patterns: Elements of Reusable Object-Oriented Software. Do your self a favor, buy it and read it.

The Design Patters Series will show how I solve problems I had during my few years of experience as a developer. Most of the examples will be written in statically typed languages (Swift, Java). That’s because those languages provide concepts such as interfaces and protocols which make the code more declarable and help find bugs during compile time. I would try my best to provide examples also with dynamically typed languages (Python, JavaScript).

List of examples I made: