Advanced Object Design with Patterns and Agile Modeling with Craig Larman

Date(s) - 12/10/2020 - 15/10/2020
All Day

Connexxo Italia Academy

This popular, high-impact, and hands-on course on mastering advanced object-oriented design (OOD) and design patterns (primarily the “Gang of Four” design patterns) with agility is aimed at architects and developers of software systems.

You will learn to design with patterns, apply visual modeling in an agile modeling approach, and a suite of related advanced design topics, including the design of packages. This course is based on acclaimed industry leader Craig Larman’s extensive experience coaching and applying OOD since the mid 1980s.

Design patterns are a critical skill of successful developers to support design agility. Various studies indicate that after initial release of a software system, at least 50% of effort and cost is spent in modification. To save money, it is skillful and economic to take a long-term view of product development and invest in simple, clear and extensible designs that reduce these costs.

Register now!

We care for your health and your safety! Of course we are taking all the measures required by national and local law to prevent the spread of COVID-19. On the top of that, we believe a great learning experience can be achieved only when the participants also *feel* safe, therefore our team has developed a series of additional measures for the protection of participants and trainer. Should you have questions or should your company require more information to allow you to participate, feel free to contact us.

Please note: for any cancellation related to COVID-19 (e.g. travel restrictions) a 100% refund policy applies!

Course Format:

In this intensive seminar there is some lecture time, but the majority is spent in small teams at vast whiteboard spaces while the coach rotates and works with each team, guiding them through the case study problems. The course proceeds through a series of case studies within which you learn design pattern skills. Other education methods include rotation reviews, multi-modal learning, and pair learning. These skills are applied repeatedly in several iterations of the case studies, as we go deeper, reinforce knowledge, and illustrate iterative and evolutionary development. New design patterns are introduced incrementally across the iterations.

Course Language: English


Craig Larman is the co-creator of LeSS (Large-Scale Scrum), with his friend and colleague Bas Vodde. He works as an organizational design consultant, introducing LeSS with executive teams for very large and multisite product development (often, HW-SW systems). He also works with product management for highly complex product definitions, and hands-on as an embedded-systems legacy-code C and C++ TDD coach, to keep in touch with the real work and workers.

In addition to debugging and re-designing organizations, Craig is an expert in designing (and helping people to design) software systems. He is the author of Applying UML & Patterns: Object-Oriented Analysis & Design, one of the world’s best-selling texts on software design, translated to many languages and used worldwide in universities and industry as the standard for introducing software analysis and design, modeling, design patterns, architecture, and OOA/D.

Course Outline:

  • agile modeling
  • domain modeling
  • exploring together the GRASP principles: Information Expert, Creator, Facade Controller, Low Coupling, High Cohesion, Polymorphism, Pure Fabrication, Indirection, Protected Variations
  • SOLID principles
  • class hierarchy design
  • introduction to design patterns for object-oriented development & architecture
  • exploring together: Adapter, Proxy, Decorator, Abstract Singleton, Simple Factory
  • exploring together: Strategy, Composite, Policy
  • exploring together: Command, Memento, Command Processor
  • exploring together: Observer, Template Method
  • exploring together: Abstract Factory, Factory Method
  • exploring together: State
  • exploring together: Facade, Bridge, Builder, Chain of Responsibility
  • exploring together: Iterator, Interpreter, Mediator, Prototype

Prerequisites: At least six months full-time hands-on object-oriented programming experience.


You will leave this workshop with deeper skill to apply patterns and create quality designs that have agility – that support reduced modification costs and increased comprehensibility, and hence support business agility.

Upon completion of this course, students should be able to:

  • design flexibly with patterns (primarily, the “gang-of-four” design patterns)
  • learn and collaborate with agile modeling
  • design good type (class) hierarchies
  • learn and collaborate with simple UML
  • apply refactorings to patterns (Kerievsky)

Price & Conditions:

Course Times: 09:00 to 17:00 all 4 days!
The price includes the four-day course, lunch and coffee breaks as well as the training material.

For payments until September 12th, 2020: 1.700,00 EUR
For payments after September 12th, 2020, and before the course commencement date: 1.900,00 EUR

The prices are net of any applicable VAT (22% in Italy).

Discounts for groups of three or more are possible:
please contact us for more details.


Please use the online booking form below. When your booking is confirmed, we will send you an invoice, to be paid by bank transfer within 10 days – otherwise the place will be reassigned.

Cancellation Policy:

Please note: for any cancellation related to COVID-19 (e.g. travel restrictions) a 100% refund policy applies!

Up to 30 days prior to the beginning of the course: 100% refund
Up to 14 days prior to the beginning of the course: 50% refund
Less than 14 days prior to  the beginning of the course: no refund
The participant can be replaced at any time.

Should we cancel the course, your investment will of course be reimbursed.
We are not responsible for any additional costs incurred by the participant.

Logo Connexxo Italia srl.
This event is organised by Connexxo Italia srl.

In caso di prenotazione come cliente business, vi preghiamo di assicurarvi di fornire l’indirizzo di fatturazione completo, il numero di Partita IVA, il Codice Fiscale ed il Codice Destinatario per la fatturazione elettronica. Grazie!


Bookings are closed for this event.