From e8b590f3072c1d711854ab3ad4c07f1c771c4a57 Mon Sep 17 00:00:00 2001 From: Josh Koon <45607479+joshkoon@users.noreply.github.com> Date: Tue, 29 Jan 2019 14:58:47 -0800 Subject: [PATCH] Update architecture doc with content for model layer (#3) * Update architecture docs with content for model layer * Update wording in Model layer description. --- docs/ApplicationArchitecture.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/ApplicationArchitecture.md b/docs/ApplicationArchitecture.md index 816c35fc..4f71b10e 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 interface to this layer is defined 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 interface to this layer is defined 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 interface to this layer is defined 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 \ No newline at end of file