GithubHelp home page GithubHelp logo

kiat / oop-design-patterns Goto Github PK

View Code? Open in Web Editor NEW
86.0 20.0 46.0 7.06 MB

OOP Design Patterns Code Examples

License: Apache License 2.0

Shell 2.50% Java 95.39% Batchfile 2.11%
object-oriented-programming design-patterns behavioral-patterns structural-patterns abstract-factory-pattern singleton-pattern observer-pattern strategy-pattern template-pattern iterator-pattern

oop-design-patterns's Introduction

Code Examples about Design Patterns

In this Repository we collect example design patterns in Java and C++.

  • Directory Java/ includes Java examples

  • Directory C++/ includes C++ examples

Java Examples

C++ Examples

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>

Recommended Online Sources to learn Software Design Patterns

Books


  1. Design Patterns: Elements of Reusable Object‐Oriented Software By Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides Addison‐Wesley,1994

  2. Head First Design Patterns By Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra O’Reilly, 2004

  3. 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

  4. 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

  5. Design Patterns Explained Simply


Websites

  1. https://refactoring.guru/design-patterns/catalog List of Design Patterns with description and Example code.

  2. http://java-design-patterns.com List of Software Design Patterns with examples in Java http://java-design-patterns.com/patterns/

  3. 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.

  4. 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.

  5. List of Software Design Patterns on Wikipedia https://en.wikipedia.org/wiki/Category:Software_design_patterns


MOOCs

  1. Design Patterns by University of Alberta, this is part Software Design Architecture Specialization
  2. Object-Oriented Java
  3. Software Design Abstraction

Youtube

  1. Videos by Christopher Okhravi describing examples form Head First Design Patterns Book

  2. 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 :) )

oop-design-patterns's People

Contributors

dependabot[bot] avatar edorsini avatar fanonxr avatar fouaddev avatar fxp-bu avatar ion99 avatar kiat avatar kiatest avatar klewis-bu avatar kuangjunghuang avatar sudakar21 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.