Software Design School

SDE#009 How and why to choose between State, Strategy, and Command

If you look at their class diagrams, these design patterns look very similar. That's why developers often mixed them up. Yet these three design patterns are very different from each other in terms of dynamics, use and ability to grow in combination with other design patterns

The series of "etudes" proposed by Francesco are thought to analyze design patterns: their implied object dynamics, the use cases and scenarios implicit in them and the possible scenarios of growth obtained by combining them with other patterns.

Applying Francesco's etudes will make clear the differences among the State, Strategy and Command Patterns and when to apply them effectively.

Course Info

Date

Time

Course

Trainer

Location

Language

Price

Length

Apr 15th
09:30 am
Online
English
€275.00
3,5 hours

State, Strategy and Command Design Patterns: different ways to grow the behavior of an object from the inside and the outside.

The participants in this seminar will learn about the role and dynamics of these three well known and often misunderstood design patterns.

Francesco will explain what these design patterns are, how to learn to distinguish, study and apply them in incremental development to make them effective in an evolutionary perspective.

You will be given three "Etudes" to study these three design patterns in order to master their meaning and learn how to apply them to increase the productivity of software development.

You will learn to distinguish each of these three design patterns from the other ones from an evolutionary perspective and learn the strategy to use them to incrementally grow your software system and at the same time reduce the cost of change and the overall complexity of the system.

ARE STATE AND STRATEGY VARIANTS OF THE SAME DESIGN PATTERN? WHEN TO APPLY STRATEGIES AND WHEN TO APPLY COMMANDS? HOW TO CHOOSE BETWEEN THESE THREE REALLY POPULAR PATTERNS? HOW TO APPLY THEM IN AN EVOLUTIONARY PERSPECTIVE?
Software Design Explained

ABOUT THIS SEMINAR
Software Design Explained

In this seminar, Francesco will show the participants how to distinguish and apply State, Strategy and Command patterns in an evolutionary perspective and learn the strategy to use them to incrementally grow your software system and at the same time reduce the cost of change and the overall complexity of the system.

WHO IS IT FOR?

This seminar is ideal for developers, coaches, team leaders - junior or senior. And generally to anyone interested in learning more about software design.

ABOUT THE LECTURER

Francesco has worked at the forefront of the software industry for more than 30 years.

In a career spanning startups, corporations and freelance consulting, he has mentored thousands of professionals, developers, managers and software teams.

In the 1990s he worked as a Senior Consultant and Mentor for Sun Microsystem, expert in Software Architectures and Software Development Processes and Java and Object-Oriented Evangelist.

Francesco is one of the pioneers of agile methods. He started working on XP and TDD in 1999. He was chosen by Kent Beck as reviewer of the second edition of the book Extreme Programming Explained.

He created the Anti IF Campaign in 2007 to raise awareness in the international community of developers to apply good design principles.

He has been running the Software Design School since 2019.

Francesco created the Pomodoro® Technique, a renowned time-management tool used by millions of people all over the world, while a university student looking for a way to get more done in less time.

Read Francesco Cirillo complete profile.

  • 1 PERSON REGULAR
    €275.00
    included VAT, if applicable
  • REQUEST INFORMATION
  • DETAILED PROGRAMME
  • LANGUAGE
    English
  • LENGTH
    3,5 hours
  • WHEN
    Apr 15th, 2020
  • TIME
    09:30 am
    Berlin, Germany time
  • WHERE
    Online meeting with Zoom
  • COURSE SIZE
    Min 4, max 20 people
  • EASY TO ATTEND FROM
    Europe
    Asia
    Africa
  • TERMS OF SERVICE
Testimonials

Marco Isella

Software Engineer

Francesco has changed the way I work, and more.

Simone Casciaroli

Senior software developer (Contractor) at Nutralete

Since attending this program with Francesco Cirillo, and learning his approach to software design, I have realized that my previous understanding of the topic was not as effective as I once thought. By understanding his approach, I have been able to significantly improve my own software design, benefiting both my team and myself. Despite the fact that my course was focused solely on software design, it has helped me become an all-around better software developer.

Matteo Regazzi

Agile Coach at inspearit Italy

Having experienced Francesco’s work and methodology in the past, I wanted to study with him again and try his mentoring program. Amazingly, I was able to regain immediate momentum, motivation, and obtain astonishing results, even though working remotely. This was also due in part to the organization of the sessions, which were always efficient and productive. One of the best investments I have ever made in myself. Thank you!

MORE RECOMMENDATIONS FOR YOU

Software Design Mentoring with Francesco

Software Design Mentoring with Francesco

Are you ready to take your software design skills to the next level?

MORE
Software Design Explained

Software Design Explained

Learn how to effectively apply design patterns, Anti IF practices, Refactoring, CRC, TDD, User Stories.

MORE
Software Design Adventures

Software Design Adventures

Learn how to apply software design to make the construction of your sofware system effective and enjoyable

MORE