In this Repository we collect example design patterns in Java and C++.
-
Directory Java/ includes Java examples
-
Directory C++/ includes C++ examples
- We use Apache Maven to build Java Examples.
- We use Junit for unit test.
- We use findbugs for static code analysis. We use the maven plugin for findbugs
- We use checkstyle to check our code style. We use the maven plugin for checkstyle
We use CMake to build C++ code.
- Use Smart pointer in C++
- Use C++14
- Use one of the compiler LLvm - clang, 'Gnu Compiler Collection' gcc or 'Gnu C Compiler' g++, and enable warning flags while compiling your code
- Check Memory Leaks using valgrind
valgrind --tool=memcheck <your_app> <your_apps_params>
-
Design Patterns: Elements of Reusable Object‐Oriented Software By Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides Addison‐Wesley,1994
-
Head First Design Patterns By Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra O’Reilly, 2004
-
Design Patterns Explained: A New Perspective on Object Oriented Design, (Software Patterns) by Alan Shalloway, James R. Trott, Addison Wesley, 2004 ISBN-13: 978-0321247148
-
Pattern-Oriented Software Architecture Volume 1: A System of Patterns by Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal. 1996, ISBN-10: 0471958697
-
https://refactoring.guru/design-patterns/catalog List of Design Patterns with description and Example code.
-
http://java-design-patterns.com List of Software Design Patterns with examples in Java http://java-design-patterns.com/patterns/
-
http://www.oodesign.com/ This website is an older websites. It provides a good list of the main design patterns, description of them, examples and their UML diagrams.
-
https://sourcemaking.com/design_patterns A professional Website with good different examples. If you are looking for different examples for each patterns than the classic examples. This site is a good source.
-
List of Software Design Patterns on Wikipedia https://en.wikipedia.org/wiki/Category:Software_design_patterns
- Design Patterns by University of Alberta, this is part Software Design Architecture Specialization
- Object-Oriented Java
- Software Design Abstraction
-
Videos by Christopher Okhravi describing examples form Head First Design Patterns Book
-
If you program C++, I highly Recommend Videos by Bjarne Stroustrup. For examples on CppCon, CppCon 2017, Keynotes by Bjarne Stroustrup . (BTW, this line should be on top of top of this list :) )