/RAiso

Assurance Of Learning: Pattern Software Design (LAB)

Primary LanguageC#GNU General Public License v3.0GPL-3.0

R A I s o

RAiso is a renowned online store specializing in stationery products. It is built with ASP.NET.

Layers Overview
RAiso follows a layered architecture to ensure separation of concerns and maintainability. Each layer has distinct responsibilities:
Views The View layer is responsible for displaying information to the user and interpreting user commands. This layer encompasses all user interfaces in the project.
Controller The Controller layer is responsible for validating all input from the View layer. It delegates user requests to the lower layers for further processing.
Handler The Handler layer manages all business logic required in the application. It delegates database query tasks (select, insert, update, delete) to the Repository layer. Note that a single handler can access multiple repositories.
Repository The Repository layer provides access to the database and the Model layer via its public interfaces. It manipulates objects, encapsulating actual data manipulation operations in the database. The Repository also includes methods to select objects based on criteria and return fully instantiated objects or collections of objects that meet those criteria.
Factory The Factory layer encapsulates complex object creation. For example, when the client needs to create an aggregate object (an object that holds references to other objects), the Factory provides an interface for creating these objects. It is crucial that objects returned by the Factory are in a consistent state.
Model The Model layer represents business concepts or information about the business situation. This layer is managed using the Entity Framework tool.

By adhering to this structured approach, RAiso ensures maintainability, scalability, and clear separation of responsibilities across its architecture, providing a robust system for its online stationery store.