Organizing application features into modules
As before, we will use an example to help explain the concepts.
Odoo's inheritance features provide an effective extensibility mechanism. They allow you to extend existing third-party apps without changing them directly. This composability also enables a module-oriented development pattern, where large apps can be split into smaller features, rich enough to stand on their own.
This can be helpful to limit complexity, both at the technical level and the user experience level. From a technical perspective, splitting a large problem into smaller parts makes it easier to solve and is friendlier to incremental feature development. From the user experience perspective, we can choose to activate only the features that are really needed for them, for a simpler user interface. So, we will be improving our To-Do application through additional addon modules to finally form a fully featured application.
Introducing the todo_stage module
In the previous chapter...