How joseluisbasulto/arquitecturas-layers works
This is a console-based order management application. A user selects register, search, or list from the menu; order entry collects customer and product details, and the service validates and calculates totals before saving. Search and listing also go through the service and repository. The main internal layers are presentation, business logic, domain models, and persistence. The sampled source shows an in-memory repository; no README or additional documented capabilities were provided.
Main entry points: OrderService.java Order service · OrderUI.java Order interaction · MenuUI.java Console menu · Main.java Application startup
Components 10
Presentation
- Console menu
src/presentation/MenuUI.java - Order interaction
src/presentation/OrderUI.java
Business logic
- Order service
src/business/OrderService.java
Order domain
- Order
src/model/Order.java - Product
src/model/Product.java - Order state
src/model/OrderState.java
Persistence
- Repository contract
src/data/OrderRepository.java - In-memory repository
src/data/OrderRepositoryMemory.java
Other components
- User
- Application startup
src/Main.java
Connections 16
- User → Console menu: selects options
- Console menu → User: displays results
- Application startup → In-memory repository: instantiates
- Application startup → Order service: constructs
- Application startup → Console menu: starts
- Console menu → Order interaction: dispatches actions
- Order interaction → Order: creates orders
- Order interaction → Product: creates products
- Order interaction → Order service: registers orders
- Order interaction → Order service: searches and lists
- Order service → Order: validates and calculates
- Order service → Product: checks quantities
- Order service → Order state: sets processed state
- Order service → Repository contract: saves and queries
- In-memory repository → Repository contract: implements
- In-memory repository → Order: stores orders