Understanding the Drawbacks of Composite
Course Content
0 / 51 completedIntroducing the Problem Domain
Identifying Current Factoring of an Application
Identifying Refactoring Targets
Summary
How Did the Application Become This Bad
Understanding Importance of Proper Naming
Defining the Project Structure
Implementing the Project Structure
The Case in Favor of Using Refactoring Tools
Naming Classes After Concepts They Model
Naming Classes After Behavior They Offer
Summary
Identifying the Need to Decouple Function Calls
Null Object Pattern as a Strategy
Implementing Stateful Strategies
Refactoring Tightly Coupled Calls to the Strategy Pattern
Summary
Understanding the Composite Pattern
Identifying the Need to Group Equally-typed Strategies
Understanding the Drawbacks of Composite
Chaining Strategies with Composite Pattern
Understanding the Decorator Pattern
Summary
Wrapping Strategies with the Decorator Pattern
Identifying the Need for a Builder
Designing the Builder
Preparing Ground for the Builder
Summary
A Word about Structuring Namespaces
Identifying Infrastructural Concerns
Introducing the Infrastructure Layer
Moving Infrastructural Code to Another Layer
Isolating Infrastructural Code
Summary
Identifying the Domain Rules
Preparing Room for Explicit Rules
Implementing the Rules
Constructing Composite Rules
Wrapping Rules into a Rule Adapter
Summary
Introducing the Visitor Design Pattern
Identifying the Need for Unrelated Behaviors
Building Structural Inspection on the Visitor Idea
Implementing the Structural Inspection Visitor
Summary
Implementing the Concrete Visitor
Pushing the Rules System to Its Extreme
Extending the Rules System
Summary
Adding Features to the Domain
Course Summary