From the following options (Pipes and filters, Adapter, 2-tiered, N-tiered, Layered, Blackboard, Model-View-Controller (MVC)), decide on the most suitable one for our group to follow and implement for our code to work properly and as expected.
From my understanding, as product owner, we should be using a HYBRID APPROACH combining 3-tiered architecture for the entire system and MVC for composite components.
3-tiered architecture is applied to the entire system, structuring the overall system into three logical layers (presentation/business logic/data). Following the N-tiered approach allows us to separate our layers distinctively w/o breaking the program, adhering to SOLID principles & clean architecture as taught.
- Presentation Layer - Consists of UI components (e.g., StockApplicationView & ChartDisplay)
- Business Logic Layer - StockApplication (core), StockDataProvider (core)
- Data Layer - Consists of our main data-fetching storage & API-handling modules (PersistentStorage)
...WHEREAS...
MVC will be used to handle the user-interaction & display logic within our system by directly managing UI components (such as Watchlist, ChartDisplay & UserPortfolio), which all involve ata retrieval, processing and visualisation. User input, processing logic and display output can be simplified thanks to the MVC domain-independent style.
- Watchlist (Model: Stock Data, View: Watchlist UI, Controller: IWatchlistManager)
- ChartDisplay (Model: Stock Prices, View: Chart Graph, Controlelr: Data Fetching)
If there are any arguments or disagreements with this approach, please feel free to let me now if you spot any faults with this logic, and have any alternate architectural style suggestions.
From the following options (Pipes and filters, Adapter, 2-tiered, N-tiered, Layered, Blackboard, Model-View-Controller (MVC)), decide on the most suitable one for our group to follow and implement for our code to work properly and as expected.
From my understanding, as product owner, we should be using a HYBRID APPROACH combining 3-tiered architecture for the entire system and MVC for composite components.
3-tiered architecture is applied to the entire system, structuring the overall system into three logical layers (presentation/business logic/data). Following the N-tiered approach allows us to separate our layers distinctively w/o breaking the program, adhering to SOLID principles & clean architecture as taught.
...WHEREAS...
MVC will be used to handle the user-interaction & display logic within our system by directly managing UI components (such as Watchlist, ChartDisplay & UserPortfolio), which all involve ata retrieval, processing and visualisation. User input, processing logic and display output can be simplified thanks to the MVC domain-independent style.
If there are any arguments or disagreements with this approach, please feel free to let me now if you spot any faults with this logic, and have any alternate architectural style suggestions.