https://github.com/julianamancera/labassign5_solid-principles
Software Engineering 2 - SOLID Principles: Laboratory Assignment 5
https://github.com/julianamancera/labassign5_solid-principles
order software-engineering solid-principles
Last synced: about 2 months ago
JSON representation
Software Engineering 2 - SOLID Principles: Laboratory Assignment 5
- Host: GitHub
- URL: https://github.com/julianamancera/labassign5_solid-principles
- Owner: JulianaMancera
- Created: 2025-03-24T10:00:16.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2025-03-24T11:48:32.000Z (about 2 months ago)
- Last Synced: 2025-03-24T12:41:04.919Z (about 2 months ago)
- Topics: order, software-engineering, solid-principles
- Language: Java
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LabAssign5_SOLID-Principles
### Improve the following codes to implement SOLID principles in OOP.
```
public interface Order {void calculateTotal(double price, int quantity);
void placeOrder(String customerName, String address);
void generateInvoice(String fileName);
void sendEmailNotification(String email);
}public class OrderAction implements Order {
@Override
public void calculateTotal(double price, int quantity) {
double total = price * quantity;
System.out.println("Order total: $" + total);
}@Override
public void placeOrder(String customerName, String address) {
// Simulate placing order in a system
System.out.println("Order placed for " + customerName + " at " + address);
}@Override
public void generateInvoice(String fileName) {
// Simulate generating invoice file
System.out.println("Invoice generated: " + fileName);
}@Override
public void sendEmailNotification(String email) {
// Simulate sending email notification
System.out.println("Email notification sent to: " + email);
}
}public class OrderTest {
public static void main(String[] args) {
Order order = new OrderAction();
order.calculateTotal(10.0, 2);
order.placeOrder("John Doe", "123 Main St");// These methods might not be needed for all orders
order.generateInvoice("order_123.pdf");
order.sendEmailNotification("[email protected]");
}
}
```
## UML CLASS DIAGRAM
