Typical applications for tiered mode:
For interactive types of software can also use hierarchical mode for architectural analysis, in general, the interactive software is divided into three levels more appropriate: the role of the display layer is to display information, the application of the logic layer to encapsulate those generally not easy to change the core logic, and the data persistence layer is used for data processing and records in the file, Storage locations such as databases
For the system type of software, the software is generally divided into the middle tier and the system layer two levels, the middle layer includes a dialogue framework system. Data management interface and some platform-independent services, the system layer includes operating system interface, database interface, hardware interface, etc.
Fishigui's layered architecture:
Fishigui is a framework system that provides graphical user interface services for other applications, and from this perspective, if we are looking at a complete executable program that is composed of Fishigui and upper-level applications, then the entire system can be divided into two main layers, the application layer and the framework layer. The framework layer has the Fishigui Project group development, the application layer is developed by the Application project team, and the application layer depends on the framework layer, and the framework layer does not depend on the application layer
Since it is required that the Fishigui system be ported to different operating systems, it is necessary to incorporate a new level of operating system-related functionality into the system, in order to ensure the portability of the systems: OS adaptation layer
Introduction of application Packages:
In the hierarchical architecture of the Fishigui system, many of the structure macros or enumeration types defined by the framework are accessed by the operating system adaptation layer, which causes the operating system adaptation layer to depend on the data type defined by the framework layer (cyclic dependency), in order to eliminate this cyclic dependency, we extract the public part, All public data structures and related operations are extracted and put into a separate package, because the package has no level of concept, so it does not put in any layer, but can be called by other layers, it can be seen as a separate application package
Typical application of layered model and layered model of Fishigui