After seeing how we can organize our enterprise project structure, let's have a closer look at the detailed structure within a project. Assuming we have modeled an enterprise system that is reasonable in size and responsibility, we now map the concerns of the project into code structures.
Previously, we have discussed vertical versus horizontal module layers. This is precisely one of the aspects we need to look into when structuring the project.
The structure of typical enterprise projects has traditionally been a three-tier architecture. Three-tiers means three technically motivated layers, namely the presentation, business, and data layer. That being said, the project is organized horizontally, with three sub-modules, or packages, respectively.
The idea is to separate concerns from the data layer, from the business layer, and both of them from the presentation layers, as well. Functionality on a lower layer can therefore not...