pages.courses.show.header
pages.courses.show.course_updated
pages.courses.show.subscription_description
pages.courses.show.included.header
models.attributes.base.description
Polymorphism (of subtypes) – the main distinguishing feature of modern OOP. It allows to significantly reduce the number of conditional constructs and makes the code extensible.
At the same time, polymorphism is a large and deep topic that requires serious preparation. This is where design patterns and SOLID principles come in. All this is an integral part of JavaScript development for professional developers.
pages.courses.show.skills
- Understand the difference between different types of polymorphism and the tasks they solve
- Recognize and apply design patterns (Strategy, Factory, State, Decorator, Null Object and others)
- Use different types of dispatch to reduce and simplify code
pages.courses.show.syllabus
1 | About Learn about the course, its structure, objectives and goals. |
2 | Parametric polymorphism Explore generalized programming. |
3 | Dispatch data by key Learn to replace conditional constructions with a lookup table |
4 | Dispatch functions by key Learn to dispatch using functions |
5 | Dispatch by file Learn dispatching by file structure |
6 | Polymorphism (duck typing) Learn duck typing |
7 | Null Object Pattern Explore a practical example of using polymorphism in real life. |
8 | Code that kills polymorphism Learn about common mistakes that cause polymorphism of subtypes to be lost |
9 | Dependency inversion Explore the Dependency Inversion Principle and learn how to follow it using Dependency Injection |
10 | Strategy (Pattern) Learn to see where you need to use polymorphism of subtypes |
11 | Factory (Pattern) Explore a common way to create objects |
12 | Design Patterns (Patterns) Explore the concept of "design pattern" |
13 | Object composition Learn to write object-oriented code built on the interaction of objects |
14 | Pattern State Consider several examples of systems and identify a common pattern.. |
pages.courses.show.recommended_programs

- pages.courses.pros.right_in_browser
- pages.courses.pros.lifetime_access
- pages.courses.pros.learn_as_you_go
pages.courses.show.subscription_description

