This is an architecture I just drew for a wireless communication system.
Yes, it looks clear and simple. Or because it is clear, it is simple.
Networks layer: only send and receive packets, regardless of the protocol and upper-layer applications.
Networkscontrollayer: a network control layer that parses packets, such as file packages, voice reports, video packets, common data packets, or a keepalive packet that maintains the status, then deliver the package to the corresponding class on the upper layer for processing. You can also perform other control measures, such as monitoring whether the package is repeated.
Corelayer: the core layer for implementing substantive transmission logic.
Interfacelayer: exposes functions in the form of interfaces to facilitate upper-layer applications to remove functions implemented by corelayer. In this way, the upper-layer application only needs to tell the interface layer that "I need to implement the XX function", instead of having to worry about how the corelayer below the layer works, this concept is similar to the delegate in C!
Uilogiclayer: the business logic layer. It is used to send the UI commands to "subordinates" and provide feedback to the UI when necessary.
Uipresentationlayer: provides a message to the user and an interface for the user to communicate the message.
This is a typical architecture model for network communication systems. It is clear that the architecture is conducive to the division of labor, and it is naturally more practical to start a job.