Refactoring into Chain of Responsibility & Clean Code




Refactoring into Chain of Responsibility & Clean Code

This is the second module of series called "Pyramid of Refactoring" dedicated to achieving Clean Code.

Although Refactoring to Chain of Responsibility is not mentioned in the core refactoring books ("Refactoring" & "Refactoring to Patterns") the techniques described in these books allow to create a plan for such a refactoring journey.

The goal of the course is to disentangle the codebase from a set of deeply nested conditional if/else statements. It is a very common case - and if it is left for a long time - then it leads to a very complex legacy code after subsequent code extensions.

We use refactoring techniques and perform all the changes live. The partititants download the source code and performs all the changes together with the trainer - step by step. In this sample we make use of Chain of Responsibility Design Pattern as goal of our refactoring journey.

The journey into Chain of Responsibility allows the attendees to practice code transformations like :

  • Merge If Statements

  • Merge Nested

  • If Statements

  • Extract Methods

  • Replace Temp with Query

  • Move Methods

  • Inline Methods

  • Extract Class / Extract Delegate

  • Extract Interface- Rename Methods & Variables

The course ends up with Homework, where the participants can experience the difference between implementing additional requirements within Clean Code and within Legacy Code. This is the difference between skipping and applying Preparatory Refactoring.


Replace nested & messed-up if-else statements with Chain of Responsibility using Refactoring Pyramid & Clean Code rules.

Url: View Details

What you will learn
  • Refactoring
  • Clean Code
  • Design Patterns

Rating: 4.6

Level: Intermediate Level

Duration: 2 hours

Instructor: Włodek Krakowski


Courses By:   0-9  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z 

About US

The display of third-party trademarks and trade names on this site does not necessarily indicate any affiliation or endorsement of coursescompany.com.


© 2021 coursescompany.com. All rights reserved.
View Sitemap