Skip to content

(SPRINT 3) Identify and implement the most appropriate architectural style taught in class #30

Description

@MOMORII

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.

  1. Presentation Layer - Consists of UI components (e.g., StockApplicationView & ChartDisplay)
  2. Business Logic Layer - StockApplication (core), StockDataProvider (core)
  3. 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.

  1. Watchlist (Model: Stock Data, View: Watchlist UI, Controller: IWatchlistManager)
  2. 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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Status
In review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions