\section{InheritedWidget}

Wie in \autoref{sec:inheritedWidget} beschrieben, stellen InheritedWidgets einen Lösung für das Zustandsverwaltung dar, die ohne externe Bibliotheken auskommt und somit nur Bordmittel des Flutter-Frameworks benutzen.

\subsection{Implementierung}

Für die Implementierung dieses Ansatzes wurden mehrere Stores konstruiert, welche den Anmeldezustand, die geladenen Produkte und die im Warenkorb befindliche Anzahl der Produkte modellieren. Ein Store besteht dabei immer aus einem InheritedWidget und einem StatefulWidget. Das InheritedWidget erhält dabei vom StatefulWidget die Daten und Methoden, welche nach außen abrufbar sein sollen. Zustandsänderungen und Verknüpfungen mit anderen Stores finden ausschließlich im StatefulWidget statt.

Die Benutzeroberfläche greift auf die Stores ausschließlich über die InheritedWidgets zu, wie bereits im \autoref{sec:inheritedWidget} beschrieben wurde.

Der Funktionsumfang konnte dabei ohne Einschränkungen vollständig implementiert werden.

\subsection{Bewertung}

Im folgenden Abschnitt wird die Implementierung mit InheritedWidget \autocite[branch=inheritedwidget]{repo} anhand der definierten Bewertungskriterien bewertet.

\paragraph{\nameref{sec:changeablility}}

\paragraph{\nameref{sec:testability}}

\paragraph{\nameref{sec:efficiency}}

\lstinputlisting[caption={Anzahl der Render-Vorgänge bei InheritedWidget}]{results/inheritedwidget/benchmarks.txt}

\paragraph{\nameref{sec:complexity}}

\paragraph{\nameref{sec:readability}}

\paragraph{\nameref{sec:documentation}}

\paragraph{\nameref{sec:structure}}

