Attention
TYPO3 v11 has reached end-of-life as of October 31th 2024 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.
Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v11 here: TYPO3 ELTS.
Software Design Principles
The following principles are considered best practices and are good to know when you develop extensions for TYPO3.
- Object-Oriented Programming (OOP) organizes software design around data, or objects, rather than the functions and logic of procedural programming.
- Domain-Driven Design (DDD) is a collection of principles and patterns that help developers design elegant code around clearly defined conceptual models.
- Model-View-Controller (MVC) is a programming paradigm that leads to clear isolation of data, presentation layer, and business logic.
- Test-Driven Development (TDD) is a basic technique for generating code that is stable, resilient to errors, and legible — and therefore maintainable.
- Dependency Injection is a software design pattern that adds flexibility by removing the need for hard-coded dependencies.
- Separation of Concerns and Single-responsibility principle (SRP) are computer programming principles that help developers create modular, coherent, and maintainable software.
We also recommend to study common software design patterns.