Composite Application Library (CAL)
1, the basic composition of a composite application
The composite Application Library (CAL), as the most important component of the composite application guidance, provides us with the most basic components and services to build composite application.
Look at this picture below.
A composite application is usually made up of these parts (at the same time Cal provides us with the underlying components accordingly)
Shell: The top-level window of an application that host a variety of different UI components (usually view), the shell itself does not know what it contains, typically it has very limited functionality, and the other large number of functions are provided by each module
Shell Presenter:shell's presentation layer logic is the same as the presenter in MVP mode, which makes the shell easy to test and maintain
Region: The equivalent of a placeholder for the host visualization element (which is placed in view and accessed through Region Manager)
Module: A collection of view, data model, business logic, service, etc., which we often say is "modules" that are easy to develop, test, and deploy individually, and typically we have different team members and even different teams responsible for different modules, These modules are then finally integrated into a complete application.
View: That is, "views", which have the same meaning as the view in the MVP.
Service: An application or module exposes a number of "services" for sharing, which are positioned and loaded by an object that becomes a "service container" (in CALs It is Unity Container)