Шаблоны проектирования. Design patterns tutorial.

Обзор всех популярных шаблонов проектирования в разработке программного обеспечения.
4.15 (36 reviews)
Udemy
platform
Русский
language
Software Engineering
category
instructor
Шаблоны проектирования. Design patterns tutorial.
235
students
16 hours
content
Jan 2021
last update
$19.99
regular price

Why take this course?

Based on the information provided, the course you're referring to is an advanced program designed for software developers who are already proficient in a programming language like Java, PHP, or C#. The focus of the course is to deepen their understanding and application of object-oriented design principles and software design patterns. Here's a breakdown of what the course aims to achieve and its structure:

Objectives:

  1. Understand Object-Oriented Design Principles: Learn the fundamental concepts of object-oriented programming (OOP), such as encapsulation, inheritance, polymorphism, abstraction, etc.
  2. Explore Software Design Patterns: Get familiar with various design patterns that address common problems during software design. These include creational, structural, behavioral, and architectural patterns, as well as parallel programming constructs.
  3. Create Modular, Flexible, and Reusable Code: Apply OOP principles to write code that is maintainable, scalable, and can be reused across different projects.
  4. Learn by Example: The course provides practical examples in PHP, which serves as a language for demonstrating the implementation of design patterns. This allows students to see how theoretical concepts are applied in real-world scenarios.
  5. Analyze the Application Scope: Understand when and how each pattern should be used, its benefits, limitations, and its relation to other patterns.

Structure of the Lectures:

Each lecture follows a structured approach to explain a specific design pattern:

  1. Essence of the Pattern: An introduction to what the pattern is and what problem it solves.
  2. Problem Context: A detailed explanation of the problem or scenarios where the pattern can be applied.
  3. Solution Offered: The pattern's structure, how it addresses the problem, and the set of classes involved.
  4. Practical Example: A hands-on implementation of the pattern in PHP, providing a tangible understanding of its use.
  5. Applicability: When the pattern is most useful and in which contexts it should be applied.
  6. Advantages and Disadvantages: Pros and cons of using the pattern, allowing for a balanced understanding of its implications.
  7. Relationship to Other Patterns: How this pattern interacts with or complements other design patterns.
  8. Summary: A concise recap of what has been covered in the lecture.

Key Areas Covered:

  • Creational Patterns: Singleton, Factory Method, Abstract Factory, Builder, Prototype.
  • Structural Patterns: Adapter, Composite, Flyweight, Proxy.
  • Behavioral Patterns: Observer, Strategy, Command, Interpreter, Iterator, State, Visitor, Template Method.
  • Architectural and Concurrency Patterns: MVC, MVP, MVVM, PAC, Naked Object, HMVC, VIPER.
  • Software Design Principles: SOLID principles, DRY (Don't Repeat Yourself), YAGNI (You Aren't Gonna Need It), etc.

Who Should Take This Course:

The course is suitable for intermediate to advanced software developers who have a good grasp of the basics of their chosen programming language and are interested in mastering the principles and patterns of object-oriented design. It is particularly useful for developers working on complex software systems that require a robust architectural design.

By the end of the course, you will have a comprehensive understanding of how to apply design patterns effectively, which can lead to better-designed software with improved maintainability, scalability, and reusability.

Loading charts...

Related Topics

3687924
udemy ID
07/12/2020
course created date
16/01/2021
course indexed date
Bot
course submited by