Skip to content

Latest commit

 

History

History
16 lines (12 loc) · 1.23 KB

README.md

File metadata and controls

16 lines (12 loc) · 1.23 KB

HEAD FIRST DESIGN PATTERNS

This repository contains implementations of the main Design Patterns mentioned in the Head First Design Patterns book authored by Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra.

The book has its implementaions written in Java to illustrate the design patterns utilizing the full extent of the OO nature of the language. I have tried to convert the code into C++ and Python, to seek the diffrences in implementaions that could occur as well as the similarities.

  • C++ : I have used C++17 with smart pointers for the implementation which did prove difficult in some patterns. It may be possible to further optimize it
  • Python : I have used Python 3.11 and have used the inbuilt 'abc' mobule for implementing interfaces. Even though Python has dynamically typed variable declarations, diffrent from C++ and Java, I have tried to keep the spirit of the code same even if it is not requied in some cases

NOTE

  • some of the code used Java specific packages like Swing. I have not implemented it.
  • All code for each pattern is in a single file so that it is easier to go though