You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This course exposes you to a very rich github code repository which has around 50 different working code projects.
12
9
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 ;-)
13
10
14
11
This repository has several branches and each branch contains code of a design pattern. https://github.com/premaseem/DesignPatternsJava9/tree/pattern-name
15
12
16
-
### Example:
13
+
#####Example:
17
14
To look at code of Decorator pattern you might have to switch to branch decorator pattern link:
### Software Design pattern community face book page:
24
21
https://www.facebook.com/DesignPatternGuru/
25
22
23
+
## Course introduction Video
24
+
[](https://www.youtube.com/watch?v=U9jz3omyb_Y&feature=youtu.be)
25
+
26
+
### Course Overview:
27
+
Learn and master common design patterns in Java , and become an efficient programmer.
28
+
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.
29
+
In the end, you will learn how to overcome any issues that may be encountered while using design patterns initially.
30
+
31
+
### Who this course is for:
32
+
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.
33
+
34
+
### What you will learn from this course:
35
+
1. Understanding complex coding issues in easy-to-understand code examples
36
+
2. Brain-friendly examples with real-life analogies
37
+
3. Practical coding examples for practice and ease of understanding
38
+
4. Mini projects as assignments to ensure that you are able to apply design patterns
39
+
5. Practical guide for design patterns (not boring theory but 100% practical coding as a reference guide )
40
+
6. Will help you develop good coding habits.
41
+
7. Understand complex designs and architecture effortlessly.
42
+
8. Develop non-cluttered reusable code with industry standard proven solutions documented in design patterns.
43
+
44
+
## Table of Contents
45
+
#### 1. Getting Started with Design Patterns
46
+
* The Course Overview
47
+
* How to Write Better Code
48
+
* Code Issues Versus Design Issues
49
+
* What Are Design Patterns
50
+
* Benefits of a Design Pattern for a Developer
51
+
* How Design Patterns Are Similar to Life Patterns
52
+
* Are Design Patterns Different for Different Languages
53
+
* Setting Up the Development Environment
54
+
* Issues Faced Due to Force Fitting Everything in Object Inheritance
55
+
* Fundamental Concepts of Code Reusability
56
+
57
+
#### 2. Categorization of Design Pattern
58
+
* No Silver Bullet to Solve All Design Issue in Software
59
+
* Recognize the Pattern of Problem and Design Solution to Solve It
60
+
* Categorizing Design Patterns
61
+
* Framework Architecture
62
+
63
+
#### 3. Creational Design Patterns
64
+
* Singleton Design Pattern
65
+
* Prototype Design Pattern
66
+
* Builder Design Pattern
67
+
* Factory Design Pattern
68
+
* Abstract Factory Design Pattern
69
+
70
+
#### 4. Structural Design Patterns
71
+
* Adapter Design Pattern
72
+
* Proxy Design Pattern
73
+
* Facade Design Pattern
74
+
* Bridge Design Pattern
75
+
* Composite Design Pattern
76
+
* Flyweight Design Pattern
77
+
* Decorator Design Pattern
78
+
79
+
#### 5. Behavioral Design Patterns - The Beginning
80
+
* Iterator Design Pattern
81
+
* Mediator Design Pattern
82
+
* Command Design Pattern
83
+
* Chain of Responsibility Design Pattern
84
+
* Interpreter Design Pattern
85
+
86
+
#### 6. Behavioral Design Patterns — the Conclusion
87
+
* Observer Design Pattern
88
+
* Strategy Design Pattern
89
+
* State Design Pattern
90
+
* Template Method Design Pattern
91
+
* Visitor Design Pattern
92
+
* Memento Design Pattern
93
+
94
+
#### 7. Conclusion
95
+
* When to Use Which Design Pattern
96
+
* Mini-project
97
+
* Anti Patterns
98
+
* Resources for Deeper Learning
99
+
26
100
Note: This code base will work on Java 9 and above versions.
0 commit comments