This repository contains the source code for a Hotel Management System implemented in Java. The system provides functionality for managing hotel operations, such as check-in, check-out, room management, and payment processing. It utilizes Java Swing for the graphical user interface.
I notice that is missing some SOLID principles to this Hotel Management System
Feature
The ManageRoom class handles both the business logic (add, delete rooms) and the user interface (display messages, update the room table). This violates the SRP principle, as a class should have only one reason to change.
The Payment class has specific logic for different payment methods within the same class. This makes the class not closed for modifications.
If an AdminUser subclass somewhere in the code can't replace the User class without changing the desired behavior.
The Profile class can implement methods that are not required for all possible actions in the profile.
The Payment class is directly dependent on the implementation of other classes.
Motivation
With this some of the SOLID principles violations could be managed in the right way
Additional context
Btw, don't take serious this, it's only for homework :)
I'll delete this in 1 week
Type
Cosmetic
Issue
I notice that is missing some SOLID principles to this Hotel Management System
Feature
The ManageRoom class handles both the business logic (add, delete rooms) and the user interface (display messages, update the room table). This violates the SRP principle, as a class should have only one reason to change.
The Payment class has specific logic for different payment methods within the same class. This makes the class not closed for modifications.
If an AdminUser subclass somewhere in the code can't replace the User class without changing the desired behavior.
The Profile class can implement methods that are not required for all possible actions in the profile.
The Payment class is directly dependent on the implementation of other classes.
Motivation
With this some of the SOLID principles violations could be managed in the right way
Additional context
Btw, don't take serious this, it's only for homework :) I'll delete this in 1 week