Back to training

S.O.L.I.D. Principles Workshop

About

This 1-day workshop will teach you the principles of flexible design. Years of software development have taught us that requirements always change. To allow requirements to change, we need to create flexible architecture and design. Knowing and applying the five S.O.L.I.D. principles is one of the keys to make that changes easily.

Who should attend

  • Software developers who want to learn more about software design
  • Architects who need a top level view on design
  • Technical managers for whom standard good design practices are important

Why attend

  • Separate responsibilities at variable, method, class and module level (Single Responsibility Principle)
  • Keep your design open to extension (Open Closed Principle)
  • Allow easy replacement of an implementation with another (Liskov Substitution Principle)
  • Cleanly separate the interfaces based on responsibilities (Interface Segregation Principle)
  • Introduce the right abstractions to allow flexibility (Dependency Inversion Principle)

Expected outcome

  • Spot places where your code is hard to change, where it is not S.O.L.I.D. in order to minimize the cost of change
  • Refactor your code base to a more flexible design
  • Write code that you can easily change later

Topics covered

  • Flexible architecture
  • Basic rules for flexible architecture
  • Single Responsibility Principle
  • Open Closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle
  • Other topics based on your requests

Structure

  • This workshop is very practical, with about 60% of the time spent writing code to practice the S.O.L.I.D. principles.
  • We will write code from scratch on some simple problems
  • Around 30% presentations
  • Continuous guidance from the trainer
  • Q&A
  • Anti-patterns

Prerequisites

You must be proficient in one of Java, C#, C++, php or Python. All examples during the class are in Java, but you will work in your preferred language. You need a laptop with a fully working development environment to use during the class.

You will get the best out of this class if you pair with another attendee during the exercises.

Practical details

  • Included: welcome coffee and coffee breaks
  • Training language: English/Romanian/French
  • Participants will receive a certificate of attendance

Need a customized workshop? Contact us and we’ll adapt the content as required.