MVC 패턴에 대해 알기 전에, 디자인 패턴이 무엇인지부터 알아야 한다.
MVC 패턴은 디자인 패턴에 속한다.
Model
, View
, Controller
로 프로젝트의 구성요소를 세 가지로 구분한 패턴Controller
를 조작하면, Controller
가 Model
에서 데이터를 수정하거나 가져오고, 그 수정된 데이터를 View에 보여주는 방식으로 작동한다.
View
, 데이터처리의 Model
, View
와 Model
을 중간에서 제어하는 Controller
로 역할을 나누어 효율적으로 작업할 수 있다.View
와 Model
사이의 의존도가 높아진다.Model
: 데이터를 담고 있는 클래스public class Item {
private String name;
private Money price;
public Item(String name, Money price) {
this.name = name;
this.price = price;
}
@Override
public String toString() {
return "상품명: " + name + ", 금액: " + price;
}
}
View
: 화면에 보이도록 함public class OutputView {
public static void printTitle() {
System.out.println("중고나라에 오신 것을 환영합니다!");
}
public static void nameInstruction() {
System.out.println("물품명을 입력해주세요.");
}
public static void priceInstruction() {
System.out.println("금액을 입력해주세요.");
}
public static void printItem(Item item) {
System.out.println(item);
}
}
Controller
: 모델과 뷰 사이의 동작과 가시성 작용package controller;
import domain.Item;
import domain.Money;
import view.InputView;
import view.OutputView;
public class MarketController {
public static void run() {
OutputView.printTitle();
OutputView.nameInstruction();
String name = InputView.getInput();
OutputView.priceInstruction();
Money price = new Money(InputView.getInput());
Item item = new Item(name, price);
OutputView.printItem(item);
}
}
https://log.hodol.dev/techcourse/mvc-pattern
https://gmlwjd9405.github.io/2018/07/06/design-pattern.html
https://coding-factory.tistory.com/708
https://server-engineer.tistory.com/167
https://m.blog.naver.com/jhc9639/220967034588
https://opentutorials.org/course/697/3828
https://blog.daum.net/midasyoo/274