Practical Object-Oriented Design - Course I

11h 49m 53s
English
Paid

Course description

Practical Object-Oriented Design I (POOD-I) is a course suitable for both beginners and experienced developers working with object-oriented programming.

The format is designed for individual learning at a convenient time and pace. The course includes video lessons and practical assignments that teach thinking in objects through writing code. Each exercise requires gradual improvement of the solution in response to changing requirements, which helps develop flexibility and adaptability in design.

During the course, students study key principles of object-oriented design (OOD), which allow for reducing the cost of developing new software and simplify the maintenance of existing systems. If you want to write code that is enjoyable to work with and easy to maintain—or if you are tired of unmanageable, tangled applications—this course is for you.

The course also teaches refactoring techniques and the integration of testing into the development process. This helps to speed up current work and reduce the number of errors in future code.

Watch Online

This is a demo lesson (10:00 remaining)

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

View Pricing

Watch Online Practical Object-Oriented Design - Course I

0:00
/
#1: B. Watch: Writing the Tests

All Course Lessons (66)

#Lesson TitleDurationAccess
1
B. Watch: Writing the Tests Demo
10:12
2
A. Watch: Listening to Change
04:37
3
B. Watch: Starting With the Open/Closed Principle
04:18
4
C. Watch: Recognizing Code Smells
18:47
5
D. Watch: Identifying the Best Point of Attack
06:24
6
E. Watch: Refactoring Systematically
05:41
7
Watch: Get a Whiff of This
38:15
8
A. Watch: Following the Flocking Rules
06:20
9
B. Watch: Converging on Abstractions
12:38
10
B. Watch: Replacing Difference With Sameness
07:12
11
C. Watch: Equivocating About Names
07:01
12
D. Watch: Deriving Names From Responsibilities
06:27
13
E. Watch: Choosing Meaningful Defaults
07:50
14
F. Watch: Seeking Stable Landing Points
08:22
15
G. Watch: Obeying the Liskov Substitution Principle
09:52
16
H. Watch: Taking Bigger Steps
05:15
17
I. Watch: Discovering Deeper Abstractions
07:29
18
J. Watch: Depending on Abstractions
04:24
19
A. Watch: Selecting the Target Code Smell
12:44
20
B. Watch: Extracting Classes
12:42
21
A. Watch: Appreciating Immutability
03:48
22
B. Watch: Assuming Fast Enough
09:08
23
A. Watch: Creating BottleNumbers
05:09
24
B. Watch: Recognizing Liskov Violations
06:41
25
Watch: All the Little Things
38:47
26
A. Watch: Consolidating Data Clumps
08:06
27
A. Watch: Making Sense of Conditionals
10:13
28
B. Watch: Replacing Conditionals with Polymorphism
14:13
29
A. Watch: Transitioning Between Types
15:04
30
B. Watch: Making the Easy Change
05:51
31
C. Watch: Defending the Domain
04:37
32
A. Watch: Contrasting the Concrete Factory with Shameless Green
04:15
33
B. Watch: Fathoming Factories
07:52
34
C. Watch: Opening the Factory
13:26
35
D. Watch: Supporting Arbitrary Class Names
08:14
36
E. Watch: Dispersing the Choosing Logic
05:48
37
F. Watch: Self-registering Candidates
10:07
38
G. Watch: Auto-registering Candidates
05:35
39
A. Watch: Converting Numbers to BottleNumbers
11:42
40
Watch: Go Ahead, Make A Mess
37:58
41
A. Watch: Appreciating the Mechanical Process
12:22
42
B. Watch: Clarifying Responsibilities with Pseudocode
04:40
43
C. Watch: Extracting the Verse
03:17
44
D. Watch: Coding by Wishful Thinking
06:25
45
E. Watch: Inverting Dependencies
09:18
46
A. Watch: Obeying the Law of Demeter
09:53
47
B. Watch: Identifying What the Verse Method Wants
12:15
48
C. Watch: Pushing Object Creation to the Edge
09:07
49
A. Watch: Choosing Which Units to Test
12:23
50
B. Watch: Reorganizing Tests
06:13
51
C. Watch: Seeking Context Independence
17:59
52
D. Watch: Communicating With the Future
15:30
53
A. Watch: Finding Shameless Green (up to 1:00)
03:39
54
C. Watch: Finding Shameless Green (1:00 to end)
03:39
55
A. Watch: Handling a New Requirement (up to 2:54)
11:55
56
C. Watch: Handling a New Requirement (2:54 to end)
11:55
57
A. Watch: Using Inheritance
08:39
58
A. Watch: Understanding Composition (up to 9:45)
15:28
59
C. Watch: Understanding Composition (9:45 to 12:17)
15:28
60
E. Watch: Understanding Composition (12:17 to end)
15:28
61
A. Watch: Seeking Abstractions (up to 1:05)
13:08
62
C. Watch: Seeking Abstractions (1:05 to the end)
13:08
63
A. Watch: Loosening Coupling
08:04
64
A. Watch: One Final Requirement (up to 1:05)
05:31
65
C. Watch: One Final Requirement (1:05 to end)
05:31
66
Watch: Nothing is Something
35:54

Unlock unlimited learning

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

Learn more about subscription

Books

Read Book Practical Object-Oriented Design - Course I

#Title
1C1. Download 99 Bottles of OOP book (Ruby)
2C2. Download 99 Bottles of OOP book (JS)
3C3. Download 99 Bottles of OOP book (PHP)
4C4.Download 99 Bottles of OOP book (Python)

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Complete Guide to Protocol Buffers 3 [Java, Golang, Python]

Complete Guide to Protocol Buffers 3 [Java, Golang, Python]

Sources: udemy
Protocol Buffers (protobuf) is a fundamental data serialization format that every Data Engineer should know about. It is leveraged by many top tech companies su
3 hours 53 minutes 59 seconds
Classic Season 1

Classic Season 1

Sources: destroyallsoftware
Lesson 1 We'll use the shell and the git command line tools to iterate over revisions, computing a statistic for each revision. Initially, it'll be a one-liner
4 hours 10 minutes 48 seconds
Master System Design and Design Pattern

Master System Design and Design Pattern

Sources: udemy
This course explains all the deep concepts of scalable system design problems and design patterns. These problems are frequently asked during interviews.
11 hours 33 minutes 6 seconds
Building an Interpreter from scratch

Building an Interpreter from scratch

Sources: udemy, Dmitry Soshnikov
How programming languages work under the hood? What’s the difference between compiler and interpreter? What is a virtual machine, and JIT-compiler? And what abo
2 hours 59 minutes 53 seconds
Supercharged Code Editing with Vim and Neovim

Supercharged Code Editing with Vim and Neovim

Sources: zerotomastery.io
Enhance your coding skills with easy-to-learn Vim and Neovim techniques. Use them in IDEs and terminals to boost productivity and navigate code swiftly.
2 hours 55 minutes 8 seconds