Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Photoshop Graphic Design Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Meditation Personal Transformation Life Purpose Neuroscience Emotional Intelligence
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Data Science
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
2021-02-14 12:01:30
30-Day Money-Back Guarantee
Development Programming Languages Java

Refactoring into Chain of Responsibility & Clean Code

Replace nested & messed-up if-else statements with Chain of Responsibility using Refactoring Pyramid & Clean Code rules.
Highest Rated
Rating: 4.7 out of 54.7 (29 ratings)
181 students
Created by Włodek Krakowski
Last updated 4/2020
English
English
30-Day Money-Back Guarantee

What you'll learn

  • Refactoring
  • Clean Code
  • Design Patterns
  • SOLID Principles
  • Working with Legacy Code

Course content

5 sections • 15 lectures • 1h 58m total length

  • Preview05:19
  • Refactoring facilitates earning money
    04:29
  • Preview02:45

  • Business domain explained
    05:41
  • Java sources explained
    10:41
  • Preview09:32
  • First methods made cohesive
    10:15

  • Third method extracted and made cohesive
    11:22
  • Fourth of the core methods extracted
    13:20
  • Fourth method made generic and reusable
    09:42

  • Composed Methods
    05:49
  • Single Responsibility Principle Classes
    09:53
  • Preview12:47

  • Preview05:07
  • Homework
    02:13

Requirements

  • Java 1.8+
  • IntelliJ Community Edition
  • JUnit
  • Maven

Description

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.


Who this course is for:

  • Software Developer
  • Software Architect
  • IT Team Leader

Instructor

Włodek Krakowski
Technical & Organizational Trainer
Włodek Krakowski
  • 4.5 Instructor Rating
  • 114 Reviews
  • 778 Students
  • 2 Courses

My name is Włodek Krakowski. I am an independent technical trainer, Team Teader and also a developer - to sharpen my skills continuously.

My main interest is taking care of delivering valued software from different perspectives. These are how people take care of quality of code, how people work together towards providing business value, how people help to grow each other and how people are managed.

I deliver Clean Code & Refactoring Courses.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.