Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions src/main/java/legacy/Application.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package legacy;

import legacy.controller.CustomerController;

public class Application {
public static void main(String[] args) {
CustomerService customerService = new CustomerService();
customerService.run();
CustomerController customerController = new CustomerController();
customerController.run();
}
}
66 changes: 0 additions & 66 deletions src/main/java/legacy/CustomerService.java

This file was deleted.

37 changes: 37 additions & 0 deletions src/main/java/legacy/controller/CustomerController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package legacy.controller;

import legacy.enums.CustomerStatus;
import legacy.model.CustomerManager;
import legacy.view.Console;

public class CustomerController {

CustomerManager manager = new CustomerManager();
Console console = new Console();

public void run() {
console.showCreateCustomer(
manager.createCustomer("101", "홍길동", CustomerStatus.ACTIVE)
);
console.showCreateCustomer(
manager.createCustomer("102", "이순신", CustomerStatus.ACTIVE)
);
console.showCreateCustomer(
manager.createCustomer("103", "강감찬", CustomerStatus.ACTIVE)
);

console.showAllCustomers(manager.getCustomers());

console.showUpdateCustomer(
manager.getOldName("101"),
manager.updateCustomer("101", "홍길순")
);


manager.deleteCustomer("102");
console.showDeleteCustomer("102");

console.showAllCustomers(manager.getCustomers());
}
}

5 changes: 5 additions & 0 deletions src/main/java/legacy/enums/CustomerStatus.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package legacy.enums;

public enum CustomerStatus {
ACTIVE, INACTIVE
}
22 changes: 22 additions & 0 deletions src/main/java/legacy/model/Customer.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package legacy.model;

import legacy.enums.CustomerStatus;

public class Customer {
private final String id;
private String name;
private CustomerStatus status;

public Customer(String id, String name, CustomerStatus status) {
this.id = id;
this.name = name;
this.status = status;
}

public String getId() { return id; }
public String getName() { return name; }
public CustomerStatus getStatus() { return status; }

public void setName(String name) { this.name = name; }
public void setStatus(CustomerStatus status) { this.status = status; }
}
50 changes: 50 additions & 0 deletions src/main/java/legacy/model/CustomerManager.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package legacy.model;

import legacy.enums.CustomerStatus;

import java.util.ArrayList;

public class CustomerManager {

private final ArrayList<Customer> customers = new ArrayList<>();

public Customer createCustomer(String id, String name, CustomerStatus status) {
Customer customer = new Customer(id, name, status);

customers.add(customer);

return customer;
}


public Customer updateCustomer(String id, String newName) {
Customer customer = getCustomer(id);
customer.setName(newName);

return customer;
}

public void deleteCustomer(String id) {
customers.remove(getCustomer(id));
}


public String getOldName(String id) {
return getCustomer(id).getName();
}

private Customer getCustomer(String id) {
for (Customer customer : customers) {

if (customer.getId().equals(id)) {
return customer;
}
}

throw new IllegalArgumentException("존재하지 않는 ID : " + id);
}

public ArrayList<Customer> getCustomers() {
return customers;
}
}
40 changes: 40 additions & 0 deletions src/main/java/legacy/view/Console.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package legacy.view;

import legacy.model.Customer;

import java.util.ArrayList;

public class Console {

public void showCreateCustomer(Customer customer) {
System.out.println("===== [고객 등록] =====");
System.out.println(
"ID : " + customer.getId() + " | " +
"이름 : " + customer.getName() + " | " +
"상태 : " + customer.getStatus());
}

public void showUpdateCustomer(String oldName, Customer customer) {
System.out.println("===== [고객 정보 수정] =====");
System.out.println("ID : " + customer.getId());
System.out.println(oldName + " -> " + customer.getName());
}

public void showDeleteCustomer(String id) {
System.out.println("===== [고객 삭제 완료] =====");
System.out.println("ID : " + id);
}

public void showAllCustomers(ArrayList<Customer> customers) {
System.out.println("===== [모든 고객 조회] =====");
System.out.println("총 고객 수 : " + customers.size());

for (Customer customer : customers) {
System.out.println(
"ID: " + customer.getId() + " | " +
"이름: " + customer.getName() + " | " +
"상태: " + customer.getStatus()
);
}
}
}