Objectives and questions:
In addition to the dependencies, but also to standardize all the interfaces of the operating system adaptation layer, as long as the interface of the operating system adaptation layer is always stable during the migration process, the design and implementation of the framework will not be affected, but in order to achieve the goal of the same interface, in order to ensure the same function interface can be applied to different operating systems, The operating system adaptation layer must be further decomposed and refined
Subsystem Design:
subsystem design belongs to the category of object-oriented design, which is carried out after the end of object-oriented analysis, and for those analysis classes that are relatively independent but complex and cannot be outlined by a class, we can define them as a subsystem while precisely defining several ports of the subsystem. subsystem through the interface and other classes and objects work together to achieve the entire system function, subsystem design is a further refinement of the system architecture, is a specific level of the structure of the more sophisticated division
The subsystem must implement one or more interfaces that clearly define the behavior of the subsystem, so that the subsystem will completely encapsulate the internal data and operations in addition to the external interface. For an interface-fixed subsystem, we can have more need to replace its internal structure and implement
the difference between a subsystem and a package:
- The subsystem clearly defines its own behavior through the interface, but ordinary packages do not generally do so
- The subsystem completely encapsulates its internal data and operations, and the general package knowledge part encapsulates
- Subsystems are easily replaced, and ordinary packages are not easily replaced
- The subsystem clearly defines the interface, and the external client accesses the subsystem through an interface, while the package generally does not define an interface, and the external client accesses the package through one or more public classes---external clients have different access to subsystems and packages as follows
Therefore, the primary goal of subsystem design is to abstract the more complex parts of a component into a fixed interface, in the subsequent detailed design, the interface can be used to replace the entire subsystem, in this way, can effectively separate the complexity of the system, simplifying the design process of large-scale system or large-scale module
Fishigui's subsystem design:
For different operating systems, the implementation of the operating system adaptation layer may vary widely, but in order to ensure the stability of the framework layer and the application layer, the different implementation code in the operating system adaptation layer should be able to freely replace with the premise of maintaining the stability of the interface, requiring reasonable design of the subsystem in the operating system adaptation layer and precisely defining several ports of subsystem
subsystem design and Fishigui subsystem design