Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Refactoring to Design Patterns by Example
Rating: 4.5 out of 5(996 ratings)
6,913 students

Refactoring to Design Patterns by Example

Improving internal design of an existing application with refactoring techniques and design patterns in C#
Created byZoran Horvat
Last updated 11/2019
English
English

What you'll learn

  • How to apply design patterns while refactoring an existing application
  • How to contain complexity of the business domain while performing small refactoring and redesign steps

Course content

9 sections51 lectures4h 25m total length
  • Introducing the Problem Domain8:12

    Explore refactoring to design patterns by starting from the problem domain, transforming a complex subtitle generation tool into a maintainable solution that uses design patterns.

  • How Did the Application Become This Bad?8:51

    Explore how incremental growth creates poorly factored code that's hard to maintain, then follow a live refactoring toward cleaner design, including captions and subtitle handling.

  • Identifying Current Factoring of an Application5:33

    Identify how to refactor a large parse function into smaller, cohesive parts, cleaning text, breaking sentences and long lines, and estimating duration, without changing its behavior.

  • Identifying Refactoring Targets7:35

    Identify concrete refactoring targets to make the captions building process flexible and extensible, introducing a captions builder and applying decorator, strategy, and visitor patterns for output formats.

  • Summary2:14

    Explore how to refactor an existing, operational application toward design patterns, preserving behavior while improving internal design to accommodate future features.

Requirements

  • Basic understanding of refactoring
  • Basic working knowledge of design patterns
  • Knowing C# is a plus

Description

This course begins with examination of a realistic application, which is poorly factored and doesn't incorporate design patterns. The demo application converts text into subtitles for videos, which makes it quite useful in practice. Yet, it is nearly impossible to maintain and develop this application further, due to its poor structure and design.

That is the point at which the course begins. As demonstration after demonstration will unfold, we will refactor this entire application, one function and one class at a time. During refactoring, many design patterns will fit into place almost without effort. By the end of the course, you will know how code refactoring and design patterns - one coding practice and one design practice - can operate together and help each other create great design.

Who this course is for:

  • Hands-on programmers who are struggling to keep their source code clean and extensible
  • Programmers who wish to apply design patterns without causing more harm than good
  • All those who wish to improve their object-oriented programming and design skills