메모장

MVC 패턴 중 Ctrl 공부 본문

JAVA/개념정리

MVC 패턴 중 Ctrl 공부

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

 

컨트롤러에 대해서 공부 해보자 !

컨트롤러에서 우리는 model 부분의 music과 member를 사용할 예정 이므로 dao를 초기화 해주고 view부분도 초기화 !

 
 

큰 틀을 먼저 잡아준다 ! 실행을 했을때!!! 프로그램 모드에서는 회원가입,로그인,프로그램종료 로 간단하다. 사용자는 로그인을 통해 접속해야 더 세부적인 내용을 수행할 수 있다.

 

 

 

로그인을 통해 들어가면 이제 그 안에서 메뉴들을 또 나눠서 큰 틀을 잡을것 !

 

 

 

이 다음은 내가 한글코딩 , 설계한 대로 코드를 작성해야 한다.

package ctrl;

import model.MemberDAO;
import model.MovieDAO;
import view.View;

public class TestCtrl {
   // 멤버변수로 M,V를 가짐
   private MemberDAO memberDAO;
   private MovieDAO movieDAO;
   // DAO만 모델이다!
   private View view;
   public TestCtrl() {
      // "초기화가 되어있는가?" == "new를 했는가?"
      this.memberDAO=new MemberDAO();
      this.movieDAO=new MovieDAO();
      view=new View();
   } // 생성자: 멤버변수를 초기화시키는 행동을 함

   public void startApp() { // 사용자가 내 어플을 켰다!

      // 한글코딩지역

      while(true) {
         // 무한루프 생성 --->> 종료 조건 만들기

         // 사용자는 맨 처음에 안녕하세요 출력보고,
         view.화면에 안녕하세요 출력();
         // 메뉴목록을 보는데
         // 그중에서 뭔가를 선택한다.
         int action=view.사용자한테 무엇을 할건지 받아봐();
         // action == 사용자가 선택한 값

         // 메뉴목록
         // 1. 사진보기
         // 2. 사진올리기
         // 3. 사진변경하기
         // 4. 사진삭제하기
         // 5. 어플 종료

         if(action==1) {
            // 사용자가 만약에 1을 했다면
            // 사진을 화면에 보여준다.
            /*
            ArrayList<사진VO> pdatas=model.selectAll();
            // selectAll 은 여러 목록 등 두가지 이상 일때 ! 무조건 selectAll();
            */
            사진VO pic=model.selectOne(); // 딱 하나만 일때
            view.사진 보여주기(pic);
         }
         else if(action==2) {
            // 사용자가 만약에 2를 했다면
            // 사용자로부터 사진을 받아와서
            사진VO pic=view.사진받아와();
            // 그걸 DB에 저장
            boolean flag=model.insert(pic);
            if(flag) {
               // 성공
               view.성공화면();
            }
            else {
               // 실패
               view.실패화면();
            }
         }
         else if(action==3) {
            // 사용자는 어떤 기존사진을-1 어떤 변경할사진으로-2 변경할지 알려줘야함
            사진VO vo=view.변경화면을 출력해줘();
            // ★ JAVA에서는 OUTPUT이 2개이상일수가 없음!!!!!
            // 이럴때에는 VO를 OUTPUT으로 사용한다!!!!!
                        
            // 그럼 그 정보를 DB에 전달할예정
            boolean flag=model.update(vo);
            if(flag) {
               view.성공화면();
               // 변경완료된 사진을 한번 출력해주자~
               view.사진보여줘(vo);
            }
            else {
               view.실패화면();
            }            
         }
         else if(action==4) {
            // 사용자는 무엇을 삭제할지 알려줘야함
            int picPK=view.삭제할정보를받아옴();
            
            // 그러면 해당 사진을 DB에서 삭제
            사진VO 사진vo=new 사진VO( picPK );
            boolean flag=model.delete(사진vo);
            if(flag) {
               view.성공화면();
            }
            else {
               view.실패화면();
            }
         }
         else if(action==5) {
            // 어플 종료 화면출력
            view.어플종료화면();
            break; // 무한루프의 종료 조건 ★
         }

      }
   }
}
 
 

 

 

728x90
반응형

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

인터페이스  (0) 2024.04.07
클래스 , 객체 , 인스턴스의 차이  (0) 2024.04.07
MVC 패턴 중 View 공부  (0) 2024.04.07
MVC 패턴 중 Model 공부  (0) 2024.04.07
MVC 패턴  (0) 2024.04.07