What are Design Patterns?
7 lectures 46:12
What this course is about
We - the course instructors - start with
introductions. We are a husband-wife team, studied at Stanford, and spent several years working in top tech companies, including Google, Flipkart and Microsoft.
Next, we talk about the target audience for this course:
Engineers and
Product Managers, certainly, but also
Tech Executives and Investors, or anyone who has some curiosity about technology.
By the end of this class, students will be able to: spot situations where design patterns lead to better designs, and deploy those patterns effectively. Product managers and executives will learn enough of the 'how' to be able intelligently converse with their engineering counterparts, without being constrained by it.
That's it for preliminaries - with this we plunge right in!
- "Design Patterns are canonical solutions to recurring problems". We start by understanding what Design Patterns are, and why these patterns are still so popular decades after they were first put together.
-
Design Patterns, Libraries and Frameworks: A martial arts analogy illustrates the difference
-
Broad Categories of Patterns: We also take a quick swing through the major categories of Design Patterns - creational, structural and behavioral.
Creational, Behavioural and Structural Paradigms
Design patterns are often divided into three categories - creational, behavioural and structural. Let's understand what these categories represent.
Design Principle #1: Rely on Interfaces, not Implementations
'Program to interfaces, not implementations' said Eric Gamma. Of course he was right.
Design Principle #2: The Open/Closed Principle
Code should be open for extension but closed for modification. How can this be achieved? Well, there are 3 possible ways: inheritance, delegation, and composition.
Design Principle #3: Principle of Least Knowledge
Like children, code should only talk to friends, never to strangers!
Design Principles #4 and #5: Dependency Inversion and the Hollywood Principle
Always rely only on abstractions, never on details. Oh - and don't call us, we'll call you. That's how Hollywood works, and that's how the Hollywood Principle reads.
A taste of things to come
We will cover a fair bit of ground in this class. Here's a quick look at what's coming your way.
What are Design Patterns?.
7 lectures 46:12
What this course is about
We - the course instructors - start with
introductions. We are a husband-wife team, studied at Stanford, and spent several years working in top tech companies, including Google, Flipkart and Microsoft.
Next, we talk about the target audience for this course:
Engineers and
Product Managers, certainly, but also
Tech Executives and Investors, or anyone who has some curiosity about technology.
By the end of this class, students will be able to: spot situations where design patterns lead to better designs, and deploy those patterns effectively. Product managers and executives will learn enough of the 'how' to be able intelligently converse with their engineering counterparts, without being constrained by it.
That's it for preliminaries - with this we plunge right in!
- "Design Patterns are canonical solutions to recurring problems". We start by understanding what Design Patterns are, and why these patterns are still so popular decades after they were first put together.
-
Design Patterns, Libraries and Frameworks: A martial arts analogy illustrates the difference
-
Broad Categories of Patterns: We also take a quick swing through the major categories of Design Patterns - creational, structural and behavioral.
Creational, Behavioural and Structural Paradigms
Design patterns are often divided into three categories - creational, behavioural and structural. Let's understand what these categories represent.
Design Principle #1: Rely on Interfaces, not Implementations
'Program to interfaces, not implementations' said Eric Gamma. Of course he was right.
Design Principle #2: The Open/Closed Principle
Code should be open for extension but closed for modification. How can this be achieved? Well, there are 3 possible ways: inheritance, delegation, and composition.
Design Principle #3: Principle of Least Knowledge
Like children, code should only talk to friends, never to strangers!
Design Principles #4 and #5: Dependency Inversion and the Hollywood Principle
Always rely only on abstractions, never on details. Oh - and don't call us, we'll call you. That's how Hollywood works, and that's how the Hollywood Principle reads.
A taste of things to come
We will cover a fair bit of ground in this class. Here's a quick look at what's coming your way.
What this course is about
We - the course instructors - start with
introductions. We are a husband-wife team, studied at Stanford, and spent several years working in top tech companies, including Google, Flipkart and Microsoft.
Next, we talk about the target audience for this course:
Engineers and
Product Managers, certainly, but also
Tech Executives and Investors, or anyone who has some curiosity about technology.
By the end of this class, students will be able to: spot situations where design patterns lead to better designs, and deploy those patterns effectively. Product managers and executives will learn enough of the 'how' to be able intelligently converse with their engineering counterparts, without being constrained by it.
That's it for preliminaries - with this we plunge right in!
- "Design Patterns are canonical solutions to recurring problems". We start by understanding what Design Patterns are, and why these patterns are still so popular decades after they were first put together.
-
Design Patterns, Libraries and Frameworks: A martial arts analogy illustrates the difference
-
Broad Categories of Patterns: We also take a quick swing through the major categories of Design Patterns - creational, structural and behavioral.
What this course is about
We - the course instructors - start with
introductions. We are a husband-wife team, studied at Stanford, and spent several years working in top tech companies, including Google, Flipkart and Microsoft.
Next, we talk about the target audience for this course:
Engineers and
Product Managers, certainly, but also
Tech Executives and Investors, or anyone who has some curiosity about technology.
By the end of this class, students will be able to: spot situations where design patterns lead to better designs, and deploy those patterns effectively. Product managers and executives will learn enough of the 'how' to be able intelligently converse with their engineering counterparts, without being constrained by it.
That's it for preliminaries - with this we plunge right in!
- "Design Patterns are canonical solutions to recurring problems". We start by understanding what Design Patterns are, and why these patterns are still so popular decades after they were first put together.
-
Design Patterns, Libraries and Frameworks: A martial arts analogy illustrates the difference
-
Broad Categories of Patterns: We also take a quick swing through the major categories of Design Patterns - creational, structural and behavioral.
What this course is about
We - the course instructors - start with
introductions. We are a husband-wife team, studied at Stanford, and spent several years working in top tech companies, including Google, Flipkart and Microsoft.
Next, we talk about the target audience for this course:
Engineers and
Product Managers, certainly, but also
Tech Executives and Investors, or anyone who has some curiosity about technology.
By the end of this class, students will be able to: spot situations where design patterns lead to better designs, and deploy those patterns effectively. Product managers and executives will learn enough of the 'how' to be able intelligently converse with their engineering counterparts, without being constrained by it.
That's it for preliminaries - with this we plunge right in!
- "Design Patterns are canonical solutions to recurring problems". We start by understanding what Design Patterns are, and why these patterns are still so popular decades after they were first put together.
-
Design Patterns, Libraries and Frameworks: A martial arts analogy illustrates the difference
-
Broad Categories of Patterns: We also take a quick swing through the major categories of Design Patterns - creational, structural and behavioral.
What this course is about
We - the course instructors - start with
introductions. We are a husband-wife team, studied at Stanford, and spent several years working in top tech companies, including Google, Flipkart and Microsoft.
Next, we talk about the target audience for this course:
Engineers and
Product Managers, certainly, but also
Tech Executives and Investors, or anyone who has some curiosity about technology.
By the end of this class, students will be able to: spot situations where design patterns lead to better designs, and deploy those patterns effectively. Product managers and executives will learn enough of the 'how' to be able intelligently converse with their engineering counterparts, without being constrained by it.
That's it for preliminaries - with this we plunge right in!
- "Design Patterns are canonical solutions to recurring problems". We start by understanding what Design Patterns are, and why these patterns are still so popular decades after they were first put together.
-
Design Patterns, Libraries and Frameworks: A martial arts analogy illustrates the difference
-
Broad Categories of Patterns: We also take a quick swing through the major categories of Design Patterns - creational, structural and behavioral.
We - the course instructors - start with
introductions. We are a husband-wife team, studied at Stanford, and spent several years working in top tech companies, including Google, Flipkart and Microsoft.
Next, we talk about the target audience for this course:
Engineers and
Product Managers, certainly, but also
Tech Executives and Investors, or anyone who has some curiosity about technology.
By the end of this class, students will be able to: spot situations where design patterns lead to better designs, and deploy those patterns effectively. Product managers and executives will learn enough of the 'how' to be able intelligently converse with their engineering counterparts, without being constrained by it.
That's it for preliminaries - with this we plunge right in!
- "Design Patterns are canonical solutions to recurring problems". We start by understanding what Design Patterns are, and why these patterns are still so popular decades after they were first put together.
-
Design Patterns, Libraries and Frameworks: A martial arts analogy illustrates the difference
-
Broad Categories of Patterns: We also take a quick swing through the major categories of Design Patterns - creational, structural and behavioral.
We - the course instructors - start with
introductions. We are a husband-wife team, studied at Stanford, and spent several years working in top tech companies, including Google, Flipkart and Microsoft.
Next, we talk about the target audience for this course:
Engineers and
Product Managers, certainly, but also
Tech Executives and Investors, or anyone who has some curiosity about technology.
By the end of this class, students will be able to: spot situations where design patterns lead to better designs, and deploy those patterns effectively. Product managers and executives will learn enough of the 'how' to be able intelligently converse with their engineering counterparts, without being constrained by it.
That's it for preliminaries - with this we plunge right in!
- "Design Patterns are canonical solutions to recurring problems". We start by understanding what Design Patterns are, and why these patterns are still so popular decades after they were first put together.
-
Design Patterns, Libraries and Frameworks: A martial arts analogy illustrates the difference
-
Broad Categories of Patterns: We also take a quick swing through the major categories of Design Patterns - creational, structural and behavioral.
Creational, Behavioural and Structural Paradigms
Design patterns are often divided into three categories - creational, behavioural and structural. Let's understand what these categories represent.
Creational, Behavioural and Structural Paradigms
Design patterns are often divided into three categories - creational, behavioural and structural. Let's understand what these categories represent.
Creational, Behavioural and Structural Paradigms
Design patterns are often divided into three categories - creational, behavioural and structural. Let's understand what these categories represent.
Creational, Behavioural and Structural Paradigms
Design patterns are often divided into three categories - creational, behavioural and structural. Let's understand what these categories represent.
Design patterns are often divided into three categories - creational, behavioural and structural. Let's understand what these categories represent.
Design patterns are often divided into three categories - creational, behavioural and structural. Let's understand what these categories represent.
Design Principle #1: Rely on Interfaces, not Implementations
'Program to interfaces, not implementations' said Eric Gamma. Of course he was right.
Design Principle #1: Rely on Interfaces, not Implementations
'Program to interfaces, not implementations' said Eric Gamma. Of course he was right.
Design Principle #1: Rely on Interfaces, not Implementations
'Program to interfaces, not implementations' said Eric Gamma. Of course he was right.
Design Principle #1: Rely on Interfaces, not Implementations
'Program to interfaces, not implementations' said Eric Gamma. Of course he was right.
'Program to interfaces, not implementations' said Eric Gamma. Of course he was right.
'Program to interfaces, not implementations' said Eric Gamma. Of course he was right.
Design Principle #2: The Open/Closed Principle
Code should be open for extension but closed for modification. How can this be achieved? Well, there are 3 possible ways: inheritance, delegation, and composition.
Design Principle #2: The Open/Closed Principle
Code should be open for extension but closed for modification. How can this be achieved? Well, there are 3 possible ways: inheritance, delegation, and composition trong
Always rely only on abstractions, never on details. Oh - and don't call us, we'll call you....