This SkillsCast is currently only available to registered attendees of Software Architecture Gathering Digital 2021
It will be freely available to all Skills Matter members once the Software Architecture Gathering Digital 2021 early-access window expires on January 14, 2022.
The package structure you choose has a great influence on the architecture and maintainability of your software system. It lays the foundation for whether your application remains manageable in the long term or becomes a big ball of mud. In this talk, we will show what matters.
The package structure is the basic structure of object-oriented software systems. It is not only the way of grouping classes, but also relevant for every developer in the course of their daily work. Package structures help to quickly grasp and understand structures within the application. Is it possible to derive the functionality based upon the package name and to talk about the system on the functional level? A meaningful structuring of the application helps in the daily work, in the implementation of new requirements and in maintenance. This is due the fact, that a higher implementation speed can be achieved. In many projects, the package structure is based on the stereotypes of classes such as controllers, services or factories. This technical structuring is an intuitive procedure in smaller software systems, which leads to considerable disadvantages in larger software systems like an increase of technical depts. Reasons for that are the resulting lack of system understanding which leads to unclear responsibilities, undesired dependencies, cycles and high complexity. Finally, this causes applications to erode unnoticed resulting in a reduction of productivity.
An alternative way of system decomposition helps to avoid the listed negative effects. Focusing on the mental model of the user and the developer, leads to a functional system decomposition. This will be discussed looking at use cases, which everyone can understand, and which illustrate real business transactions.
YOU MAY ALSO LIKE:
- Domain Models in Practice with Marco Heimeshoff (Online Course on 8th - 12th November 2021)
- Domain-Driven Design Hands-On Workshop: A DDD-traineeship at "Carries Cars" (Online Meetup on 26th October 2021)
- Understanding Microservices: A Guide for the Monolithic Developer (SkillsCast recorded in October 2021)
- F# Gives You Superpowers (SkillsCast recorded in October 2021)