Workshop-Days 2025

Untangle your Legacy Code with Domain-Driven Refactoring
2025-09-09 , Room 8
Language: English

Learn how to preserve system behaviour and safely refactor legacy applications towards a Domain-Centric Design.


Untangle your Legacy Code with Domain-Driven Refactoring

Learn how to introduce tests into legacy code and safely refactor it towards a clean, maintainable software design.

You'll learn to:
* Effectively capture existing behaviour with appropriate testing strategies, including Approval Tests.
* Safely and incrementally refactor legacy code without breaking it in the process.
* Restructure code using automated and manual refactoring techniques.
* Develop a meaningful, expressive domain model aligned with business language and clearly defined domain boundaries.
* Separate concerns effectively and build cohesive units combining data and logic.
* Utilise flexible, maintainable architectures, such as Vertical Slice and Hexagonal Architecture, to enhance feature testability and code structure.

Course Takeaways:
* Safely navigate and untangle complex legacy codebases incrementally.
* Build reliable tests that safeguard incremental changes.
* Safely transition legacy designs toward expressive domain models.
* Understand trade-offs of architectural design patterns to support long-term maintainability and flexibility.

We will be using the latest versions of Java, IntelliJ IDEA, and JUnit for this workshop. The discussed concepts however are technology-agnostic and applicable to any programming language and framework.

The course will be taught in either English or German, depending on the participants' preferences.

Oliver Zihler is a dedicated Software Crafter specialising in Business-Domain-Driven Software Design, identifying and addressing Code Smells through Refactoring, architecting maintainable software solutions, and agile software development. He actively organises Tech Excellence meetups and conferences, fostering community learning and innovation. At Codeartify, Oliver serves as a technical trainer, software engineer, and architect, guiding teams to deliver robust solutions.

This speaker also appears in:

Alina Liburkina is Software Craftress and CEO of Codeartify GmbH. She is a technical trainer, software engineer and architect, and (IT) event organizer passionate about DDD, Refactoring, Hexagonal and Clean Architecture. She is a co-organizer of an international conference and meetups TechExcellence. Moreover, she promotes and introduces XP techniques in the teams she works with. She loves to gather and share her knowledge with others through pair or mob programming, presentations or hands-on workshops.

This speaker also appears in: