GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - premaseem/DesignPatternsJava9: This repository has all 23 GOF design patterns coded in Java 9 with around 50+ working project code used for Video Course by Packt Publication with title "Learn Design Patterns with Java " authored by "Aseem Jain". The link of the course is

BranchesTags
Open more actions menu

Latest commit

 

History

27 Commits
27 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/ISSUE_TEMPLATE
.github/ISSUE_TEMPLATE
 
 
diagrams
diagrams
 
 
pattern
pattern
 
 
patternBonus
patternBonus
 
 
pdfs
pdfs
 
 
.classpath
.classpath
 
 
.gitignore
.gitignore
 
 
.project
.project
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
DesignPatternsJava9.eml
DesignPatternsJava9.eml
 
 
DesignPatternsJava9.iml
DesignPatternsJava9.iml
 
 
Final_assignment.md
Final_assignment.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
linkedin.png
linkedin.png
 
 
switch-branch.png
switch-branch.png
 
 
userful links for course.md
userful links for course.md
 
 

Repository files navigation

Learn Design Patterns with Java by Aseem Jain

This repository contains working project code used in video Course by Packt Publication with title "Learn Design Patterns with Java " authored by "Aseem Jain".

Course link:

https://www.packtpub.com/application-development/learn-design-patterns-java-9-video

Course introduction Video

Course introduction video

Click to play video

 http://in.linkedin.com/in/premaseem Profile: http://in.linkedin.com/in/premaseem

Repository over view

This course exposes you to a very rich github code repository which has around 50 different working code projects. Code is organized in separate branches, which means all code related to singleton design pattern is in single-pattern branch and all code related observer pattern is observer-pattern branch. Each branch has related diagrams in the branch. The commit history also helps you evovle the code. You are supposed to clone or download the code base and exectue it locally or play with it for deeper learning. You can own the repo by forking it and modify code as much as you want. Remember the rule, more you code better you learn ;-)

This repository has several branches and each branch contains code of a design pattern. https://github.com/premaseem/DesignPatternsJava9/tree/pattern-name

Example:

To look at code of Decorator pattern you might have to switch to branch decorator pattern link: https://github.com/premaseem/DesignPatternsJava9/tree/decorator-pattern switch branch

Links for useful resources mentioned in the course:

https://github.com/premaseem/DesignPatternsJava9/blob/master/Useful%20Links%20for%20the%20course.pdf

Authors blog on design patterns:

https://premaseem.wordpress.com/category/computers/design-patterns/

Software Design pattern community face book page:

https://www.facebook.com/DesignPatternGuru/

Course Overview:

Learn and master common design patterns in Java , and become an efficient programmer. In this course, you will start by exploring the benefits of using design patterns for developers in their regular development environment. You will move on to see which design patterns are suited for which circumstances. You will see the different categories to which the Design Patterns belong. Throughout this course, each type of Design Pattern will be accompanied by a practical example and information on when to use a given Design Pattern. You will also be shown scenarios in which specific Design Patterns are to be avoided. In the end, you will learn how to overcome any issues that may be encountered while using design patterns initially.

Who this course is for:

This course is for those programmers/developers who have a basic knowledge of OOPs (preferably in Java) and are looking to refine their code through design patterns in their day to day coding practice.

What you will learn from this course:

  1. Understanding complex coding issues in easy-to-understand code examples
  2. Brain-friendly examples with real-life analogies
  3. Practical coding examples for practice and ease of understanding
  4. Mini projects as assignments to ensure that you are able to apply design patterns
  5. Practical guide for design patterns (not boring theory but 100% practical coding as a reference guide )
  6. Will help you develop good coding habits.
  7. Understand complex designs and architecture effortlessly.
  8. Develop non-cluttered reusable code with industry standard proven solutions documented in design patterns.

Table of Contents

1. Getting Started with Design Patterns

  • The Course Overview
  • How to Write Better Code
  • Code Issues Versus Design Issues
  • What Are Design Patterns
  • Benefits of a Design Pattern for a Developer
  • How Design Patterns Are Similar to Life Patterns
  • Are Design Patterns Different for Different Languages
  • Setting Up the Development Environment
  • Issues Faced Due to Force Fitting Everything in Object Inheritance
  • Fundamental Concepts of Code Reusability

2. Categorization of Design Pattern

  • No Silver Bullet to Solve All Design Issue in Software
  • Recognize the Pattern of Problem and Design Solution to Solve It
  • Categorizing Design Patterns
  • Framework Architecture

3. Creational Design Patterns

  • Singleton Design Pattern
  • Prototype Design Pattern
  • Builder Design Pattern
  • Factory Design Pattern
  • Abstract Factory Design Pattern

4. Structural Design Patterns

  • Adapter Design Pattern
  • Proxy Design Pattern
  • Facade Design Pattern
  • Bridge Design Pattern
  • Composite Design Pattern
  • Flyweight Design Pattern
  • Decorator Design Pattern

5. Behavioral Design Patterns - The Beginning

  • Iterator Design Pattern
  • Mediator Design Pattern
  • Command Design Pattern
  • Chain of Responsibility Design Pattern
  • Interpreter Design Pattern

6. Behavioral Design Patterns — the Conclusion

  • Observer Design Pattern
  • Strategy Design Pattern
  • State Design Pattern
  • Template Method Design Pattern
  • Visitor Design Pattern
  • Memento Design Pattern

7. Conclusion

  • When to Use Which Design Pattern
  • Mini-project (Requirements document - https://github.com/premaseem/DesignPatternsJava9/blob/master/Final_assignment.md)
  • Anti Patterns
  • Resources for Deeper Learning

Note:

  • This code base will work on Java 9 and above versions.
  • diagrams folders carry UML diagrams.
  • pattern folder has code of primary example.
  • patternBonus folder has code of secondary or bonus example.

About

This repository has all 23 GOF design patterns coded in Java 9 with around 50+ working project code used for Video Course by Packt Publication with title "Learn Design Patterns with Java " authored by "Aseem Jain". The link of the course is

www.packtpub.com/application-development/learn-design-patterns-java-9-video

Topics

aseemjaindesign-patterndesign-patternsdesignpatterndemodesignpatternsdesignpatternsjavagang-of-fourgang-of-four-design-patternsjava10javadesignpatterns

Resources

Readme
GPL-3.0 license

Code of conduct

Code of conduct
Activity

Stars

81 stars

Watchers

9 watching

Forks

164 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.