From 1eb9d75c9b8374125ab6601ff2db294d19cc6731 Mon Sep 17 00:00:00 2001 From: Josh Koon <45607479+joshkoon@users.noreply.github.com> Date: Tue, 29 Jan 2019 11:30:23 -0800 Subject: [PATCH] Update architecture docs with content for model layer --- docs/ApplicationArchitecture.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/ApplicationArchitecture.md b/docs/ApplicationArchitecture.md index d9a053de..3e1c4f8e 100644 --- a/docs/ApplicationArchitecture.md +++ b/docs/ApplicationArchitecture.md @@ -141,8 +141,19 @@ property and a `PropertyChanged` event will be raised, allowing the UI to respon -------- ## Model -The Model for the Calculator modes is contained in the [CalcManager][CalcManager folder] project. - +The Model for the Calculator modes is contained in the [CalcManager][CalcManager folder] project. It consists of three layers: a `CalculatorManager`, which relies on a `CalcEngine`, which relies on the `Ratpack`. + +### CalculatorManager + +The CalculatorManager contains the logic for managing the overall Calculator app's data such as the History and Memory lists, as well as maintaining the instances of calculator engines used for the various modes. The core of this layer is represented in [CalculatorManager.h][CalculatorManager.h]. + +### CalcEngine + +The CalcEngine contains the logic for interpreting and performing operations according to the commands passed to it. It maintains the current state of calculations and relies on the RatPack for performing mathematical operations. The core of this layer is represented in [CalcEngine.h][CalcEngine.h]. + +### RatPack + +The RatPack (short for Rational Pack) is the core of the Calculator model and contains the logic for performing its mathematical operations. The core of this layer is represented in [ratpak.h][ratpak.h]. [References]:#################################################################################################### @@ -186,3 +197,6 @@ The Model for the Calculator modes is contained in the [CalcManager][CalcManager [Utils.h]: ..\src\CalcViewModel\Common\Utils.h [CalcManager folder]: ..\src\CalcManager +[CalculatorManager.h]: ..\src\CalcManager\CalculatorManager.h +[CalcEngine.h]: ..\src\CalcManager\Header Files\CalcEngine.h +[ratpak.h]: ..\src\CalcManager\Ratpack\ratpak.h