메모장

MVC 패턴 중 View 공부 본문

JAVA/개념정리

MVC 패턴 중 View 공부

Itchild 2024. 4. 7. 20:42
728x90
반응형

 

view는 사용자만 생각한다 !

상품판매 사이트를 만든다고 가정할때

 

1. 상품볼래?

2. 구매할래?

3. 종료?

입력) 1

받아올건없다. INPUT xxx

사용자의 입력은 있다. OUTPUT INT -----> 사용자의 입력이 output이다.

int printMenu() ----> 메서드 시그니처

----------------------------------------

구매하실 상품의 번호를 입력) 123

받아올건없다. INPUT xxx

사용자의 입력은 있다. OUTPUT INT

int getProductNum() ------> 메서드 시그니처

----------------------------------------

상품있음 화면

input 있는가 ? x

output 있는가 ? x

void printTrue() -------> 메서드 시그니처

----------------------------------------

상품없음 화면

void printFalse()

----------------------------------------

상품 ㅇㅇㅇ은 xxx원 입니다. [재고 N개]

몇개 구매하시겠습니까? 3

받아올 데이터 이름,가격,재고 ------> 이름과 가격 ,재고 정보의 묶음을 가지고 있는 상품 하나 !

String,int,int => VO

상품 하나 이기때문에 ArrayList<ProductVO> 배열이 아니다 xxx

사용자의 입력은 있다. OUPUT INT

int getProuductCnt(VO vo)

 

정리) 화면에 보여줘야할 정보가 있다면, INPUT이 존재하고

사용자가 입력을 하면, OUTPUT이 존재한다!

----------------------------------------

 

AL<VO> VS VO 는 어떻게 다를까?

 

VO -> a,b,c 여러개의 데이터가 하나를 의미할때

이름,가격,재고 -> 상품

이름,번호,점수 -> 학생

...

AL<VO> -> a,b,c 여러개의 데이터가 타입이 같을때

향상된 배열[]이기 때문에

1) 관련된 데이터

2) 같은 자료형

3) 크기를 알아야함 xxxxx

홍길동,임꺽정,김철수 -> 학생들 -> AL<학생>

삼각김밥,우유,샌드위치 -> 상품들 -> AL<상품>

----------------------------------------

 

=== 상품목록 ===

1. 삼각 김밥

2. 우유

3. 샌드위치

---------------

받아와야하는데이터 AL<상품VO>

사용자의 입력은 없음

void printDataList(AL<상품VO> datas) --------> 메서드 시그니처

 

예제) 영화 삭제를 Model, View 작업 후 Controller에서 조합하기 !

- View 
// 삭제할 영화번호입력) 123 // 이것만 ! 보았을때 삭제할 영화 번호만 입력 받을때
   // INPUT: void   OUTPUT: int
   // int getMoiveNum()
   public int getMovieNum() {
      System.out.println("삭제할 영화번호입력) ");
      int num=123; // sc 스캐너 입력했다치고~
      return num;
   }

- Model DAO - Delete 파트에서 

- Controller
  // 영화삭제
      // M,V -> C
      
      /////view, 사용자가 뭐 삭제하고싶대?
      int num=view.getMovieNum();
      
      MovieVO mVO2=new MovieVO(num,"","");
      
      /////model, 이거 삭제해달라던데?
      boolean flag2=mDAO.delete(mVO2);
      
      if(flag2) {
         /////view.추가완료화면();
         view.printTrue();
      }
      else {
         /////view.추가실패화면();
         view.printFalse();
      }
 

 

 

728x90
반응형

'JAVA > 개념정리' 카테고리의 다른 글

클래스 , 객체 , 인스턴스의 차이  (0) 2024.04.07
MVC 패턴 중 Ctrl 공부  (1) 2024.04.07
MVC 패턴 중 Model 공부  (0) 2024.04.07
MVC 패턴  (0) 2024.04.07
스레드(Thread) 와 파일 입출력  (1) 2024.04.07