-
Notifications
You must be signed in to change notification settings - Fork 0
Client | Architecture
The client's architecture follows the general Angular architecture concepts and guidelines. Each Angular Component represents a visual component of the user graphic interface.
Angular is a platform and framework for building single-page client applications using HTML and TypeScript. Angular is written in TypeScript. It implements core and optional functionality as a set of TypeScript libraries that you import into your apps.
Each component defines a class that contains application data and logic, and is associated with an HTML template that defines a view to be displayed in a target environment.
In order to favor maintainability, each component has an added facade service as an abstraction layer between the component's logic and the shared services. The goals is to have as few lines of code as possible in yourComponent.component.ts and it should only be used to directly interact with the component's DOM.
yourComponent.component.ts will call methods from yourComponent.facade.service.ts, who is responsable for calling the necessary services. All services must be found in \client\src\app\shared\services\.
Facade Design Pattern Intent:
- Provide a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier to use.
- Wrap a complicated subsystem with a simpler interface.