diff --git a/Software-Architecture-Document-(SAD).md b/Software-Architecture-Document-(SAD).md index 1b28cf8..522e6e2 100644 --- a/Software-Architecture-Document-(SAD).md +++ b/Software-Architecture-Document-(SAD).md @@ -69,6 +69,9 @@ As we use ExpressJS in the backend and Angular in the frontend, we don't have an ## 3. Architectural Goals and Constraints The Frontend and the Backend are split up into different components. The web crawler which will be developed later will be an independent component as well. This ensures maximum maintainability and the option to switch one of these components to a different technology in the future without having to rewrite the whole application. +### Patterns +One of the most important patterns we are using is the Observable / Subscriber Pattern in Angular. This is used to make asynchronous API requests without having the application waiting for the answer and hence blocking the user from doing something different in the meantime. To maintain a clear code structure, we are also using the proxy pattern to extend existing interfaces in TypeScript. + ### Database For the Database we use [mariaDB](https://mariadb.com/) as we already have multiple mariaDB servers up and running which we can use, which saves time because we don't have to set up a new server.