웹 개발

ACTION/CONDITION

_KH_ 2025. 3. 11. 20:49

1. ACTION / CONDITION 차이..

비즈니스 로직을 처리하는 방식에서 조건과 동작을 나누는 개념

 

① CONDITION (조건) : 어떤 동작(ACTION)이 실행될지 결정하는 논리적 조건

  1.  사용자의 입력이나 특정 상태(로그인 여부, 권한 체크 등)를 확인해서 특정 분기를 결정함
  2. if문 등으로 작성되며, 어떤 ACTION이 수행될지 판단하는데 사용
if(memberDTO.getCondition().equals("LOGIN")) {
    pstmt=conn.prepareStatement(SELECTONE);
    pstmt.setString(1, memberDTO.getMid());
    pstmt.setString(2, memberDTO.getPassword());
}
else if(memberDTO.getCondition().equals("MYPAGE")) {
    pstmt=conn.prepareStatement(SELECTONE_MID);
    pstmt.setString(1, memberDTO.getMid());
}

만약 CONDITION이 로그인이면 SELECTONE 쿼리문을 수행하고, CONDITION이 MYPAGE이면 SELECTONE_MID를 수행함

if(user != null) { // 로그인 상태라면
    view.printMenuLogin();
}
else {
    view.printMenuLogout();    
}

 

이 코드도 CONDITION 이란 단어는 없지만 CONDITION에 해당한다.

M,V,C 모두 사용

 

==> CONDITION은 특정 상태(예: 로그인 상태, 유저 역할)에 따라 어떤 ACTION이 실행될지를 결정하는 역할. 

      " 이 상태일 때 이렇게 처리해야 한다~" 하고 논리를 결정하는 역할.

 

② ACTION(동작) : 특정 CONDITION이 충족되었을 때 실제 수행되는 동작.

  1. 데이터 조회, 추가, 수정, 삭제 등의 기능을 하거나 특정 페이지로 이동하는 역할
  2. 주로 컨트롤러에서 실행되며 비즈니스 로직과 연결됨
int action=view.inputAction();
if(action==1) {   // 사용자가 선택한 동작(1번)
    if(user == null) {
        continue;
    }

    String name=view.inputName();

    MemberDTO dto=new MemberDTO();
    dto.setMember_name(name); // 사용자가 입력한 이름 정보
    dto.setMember_id(user.getMember_id()); // 현재 로그인한 아이디 정보

    boolean flag=memberDAO.update(dto);
    if(flag) {
        user=null; // 로그아웃 강제
    }
    view.printResult(flag);
}

CONDITION에서 어떤 동작을 실행할지 결정한 후, 실제로 실행되는 로직을 말한다.

즉, 여기서는 사용자가 입력한 숫자(ACTION)을 기준으로 실행할 동작을 결정하고 있다.

 

컨트롤러에서만 쓰임.

 

CONDITION이 ACTION을 결정하고, ACTION이 실행된다.
CONDITION = 무슨 동작을 실행할지 결정하고
ACTION = 동작을 실행한다.

 

MVC 프로젝트를 진행하면 먼저 CONDITION 확인 후 ACTION을 실행한다.

 

 

 

 

'웹 개발' 카테고리의 다른 글

POJO란?  (0) 2025.03.29
JSTL과 EL  (0) 2025.03.28
FrontController  (0) 2025.03.27
JSP  (1) 2025.03.10
JSON  (0) 2025.03.06