Skip to main content

The Ultimate Design Patterns: Part 1

4h 3m 4s
English
Paid

Unlock the full potential of your software engineering career by mastering design patterns. These invaluable skills are highly sought after by employers, who are willing to offer competitive salaries to those proficient in designing maintainable and extensible object-oriented software.

The Challenges of Learning Design Patterns

One common hurdle is that many existing resources fail to effectively teach design patterns. They often rely on trivial examples such as pizzas, ducks, cars, and coffees—scenarios you rarely encounter in professional software development. As a result, finishing such courses often leaves learners unprepared to apply patterns in real-world applications.

Our Comprehensive Approach

I believe there is a better way to learn design patterns, which is why I've developed a unique 3-part series. This course breaks down complex topics into easily digestible segments and uses realistic examples, ensuring that you can apply your newfound knowledge directly to real-world projects.

With our course, you'll gain practical skills that are immediately useful in your career.

Course Outcomes

By the end of this course, you will be empowered to:

  • Identify and resolve maintainability and extensibility challenges in your code.
  • Write code that is both maintainable and extensible, adhering to object-oriented principles.
  • Excel in coding interviews with confidence.
  • Elevate your development skills to become a more effective and insightful developer.

About the Author: codewithmosh (Mosh Hamedani)

codewithmosh (Mosh Hamedani) thumbnail
Hi! I am Mosh Hamedani! I am a passionate and pragmatic software engineer with 20 years of professional experience and I've taught over 10 million people how to code or how to become professional software engineers through my YouTube channel and online courses. I have a Bachelor of Science in Software Engineering and a Master of Science in Networks Systems. My mission is to make coding and software engineering accessible to everyone through courses that are simple to digest, and practical to implement.

Watch Online 55 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 55 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: 1- Introduction
All Course Lessons (55)
#Lesson TitleDurationAccess
1
1- Introduction Demo
01:41
2
2- What are Design Patterns
02:35
3
3- How to Take This Course
01:35
4
1- Introduction
01:04
5
2- Getting Started with Java
02:31
6
3- Classes
04:12
7
4- Coupling
02:00
8
5- Interfaces
05:43
9
6- Encapsulation
05:09
10
7- Abstraction
04:08
11
8- Inheritance
02:23
12
9- Polymorphism
03:47
13
10- UML
03:40
14
1- The Problem
01:52
15
2- Solution
05:49
16
3- Implementation
05:52
17
1- The Problem
05:24
18
2- Solution
03:14
19
3- Implementation
06:33
20
4- Abusing Patterns
01:48
21
5- Abusing the State Pattern
08:06
22
1- The Problem
06:08
23
2- Solution
04:07
24
3- Implementation
07:26
25
4- Benefits
03:52
26
1- The Problem
04:39
27
2- Solution
03:29
28
3- Implementation
05:50
29
1- The Problem
03:40
30
2- Solution
03:14
31
3- Implementation
06:05
32
1- The Problem
01:54
33
2- Solution
03:02
34
3- Implementation
04:32
35
4- Composite Commands
03:59
36
5- Undoable Commands
04:33
37
6- Implementing Undo Mechanism
11:03
38
1- The Problem
03:00
39
2- Solution
04:10
40
3- Implementation
04:15
41
4- Communication Styles
03:05
42
5- The Push Style
01:57
43
6- The Pull Style
02:18
44
1- The Problem
03:54
45
2- Solution
05:24
46
3- Implementation
08:56
47
4- Using the Observer Pattern
02:02
48
5- Implementation Using the Observer Pattern
10:04
49
1- The Problem
05:56
50
2- Solution
03:08
51
3- Implementation
11:00
52
1- The Problem
05:12
53
2- Solution
05:53
54
3- Implementation
05:36
55
2- What's Next
00:35
Unlock unlimited learning

Get instant access to all 54 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription