JAVA/강의

개발 패턴★ MVC패턴

record2080 2025. 1. 9. 23:22

개발패턴은 일종의 MENUAL

전문상 향상을 위해 분류를 해놓았음

MODEL VIEW CONTROLLER
DBMS
DB
FRONT
웹페이지
SERVICE
BECKEND

 

사용자 입장에서의 순서

V  ▶C   M   DB

 

VIEW의 경우 ,사용자와 상호작용하는 단계로서

대표적으로  2가지 일을 수행한다

1. 사용자에게 입력받거나 보여주거나

2. 스캐너로 입력받거나 프린트로 보여주거나


MODEL의 경우, 개발자랑 소통하는 단계로서,

대표적으로 CRUD , 5가지 일을 한다

C(CREATE), R(RUN/ALL,ONE),U(UPDATE),D(DELETE)

CUD는 데이터에 변화를 주고 R은 변화를 주지 않는 차이점이 있다.

 

V에게 출력할 데이터들을 전달하는 역할 =M
int[] datas=selectAll();


<같은 값 변경방지> 

1. 변경하는 화면내에서 "같은 값"에 해당하는 값을 기억(보안에 민감하지 않는 경우)
중복검사를 view에서 하는 버전
=>닉네임 변경

 

 

2. 변경을 시도할 때마다 같은 값인지 서버(DB)측에 물어보는 방법
중복검사를 back에서 하는 버전
=>비밀번호 변경

 

※ 예시코드:  학생이름을 입력했을 때, 어떻게??

 

public static String inputStuName() {
Scanner sc=new Scanner(System.in);
System.out.print("학생이름입력 >> ");
String name=sc.next();
return name;
}

    원래코드는 아무런 제재없이 이름을 입력할 수 있다.

public static String inputStuName(String preName) {
String name;
while(true) {
 System.out.print("학생이름입력 >> ");
name=sc.next();
if(!name.equals(preName)) {
break;
}
System.out.println("중복되는 이름입니다!");
}
return name;
}

1번의 경우

같은 값에 해당하는 값을 내부에서 기억해 중복값이면 입력이 안 되게 막는 방법

 

public static String inputStuName(String preName) {
int num=inputStuNum(cnt);
String name;
while(true) {
name=inputStuName();
if(!stuList[num-1].equals(name)) {
break;
}
printErrInfo();
}

2번의 경우

내부에서 중복검사를 하지 못하고 외부에서 중복검사를 하게 하는 방법

ex)구글, 네이버

 

'JAVA > 강의' 카테고리의 다른 글

다형성  (1) 2025.01.16
JAVA- 클래스 강의  (0) 2025.01.10
자바의 함수  (0) 2025.01.07
배열 조건  (0) 2025.01.02
의사코드 - 프로그램 흐름을 이해하라.  (1) 2024.12.30