MVC란?

MVC : Model, View, Controller

  • 어릎리케이션 / 프로젝트를 구성할때 구성요소를 모델 / 뷰 / 컨트롤러 세가지로 구분한 패턴.

    Model : 어플리케이션의 정보, 데이터를 나타냄. DATA / 정보의 가공을 책임지는 컴포넌트.

  • Model이 지켜야하는 규칙

    1. 사용자가 편집하길 원하는 모든 데이터를 가지고있어야한다.
    2. 뷰나 컨트롤러에 대해서 어떤 정보도 알 필요가없다.
    3. 변경이 일어나면 변경 통지에 대한 처리방법을 구현해야한다.

    View : 사용자와의 인터페이스를 담당하는 컴포넌트.

  • View가 지켜야하는 규칙

    1. 모델이 가진 정보를 따로 저장해서는 안된다.
    2. 모델이나 컨트롤러와 같이 다른 구성요소들을 알 필요가 없다.
    3. 변경이 일어나면 변경 통지에 대한 처리방법을 구현해야한다.

Controller: 모델과 뷰를 연결해주는 컨트롤러 역할

  • Controller가 지켜야하는 규칙
    1. 모델 / 뷰에 대해 알고있어야한다.
    2. 모델 / 뷰의 변경을 모니터링해야한다.

MVC 패턴의 장점

  • 각각의 역할을 정한 컴포넌트를 만들어 각각의 역할에 집중할 수 있도록한다.
  • 각각의 역할에 집중하고있기때문에 유지보수성 / 확장성 / 유연성이 증가한다.
반응형

'프로그래밍 > 면접대비문제' 카테고리의 다른 글

WAS의 동작방식  (0) 2021.01.11
DB정규화  (0) 2021.01.11
Java Collection framework interface의 특징  (0) 2021.01.11
Error와 Exception  (0) 2021.01.10
REST API에 대해서  (0) 2021.01.10

Java Collection framework interface의 특징

 - List : 순서가 있는 데이터의 집합, 데이터의 중복을 허용
- Set : 순서가 없는 데이터의 집합, 데이터의 중복을 허용하지 않는다.
- Map : key / value의 쌍으로 이루어진 데이터의 집합. 순서는 유지되지 ㅇ낳으며 키는 중복ㅇ르 허용하지 않고 값은 중복을 허용한다. 
반응형

'프로그래밍 > 면접대비문제' 카테고리의 다른 글

DB정규화  (0) 2021.01.11
MVC란?  (0) 2021.01.11
Error와 Exception  (0) 2021.01.10
REST API에 대해서  (0) 2021.01.10
MSA란 무엇인가?  (0) 2021.01.10

Error와 Exception

Error

컴파일시 문법적인 오류와 런타임시 예측불가능한 에러가 있다. 에러의 예로는 StackOverflowError / OutOfMemoryError 등이 있으며 발생시 프로세스가 종료된다. 핸들링이 불가능하고 회복이 불가능하다.

Exception

프로그램이 핸들링이 가능한 경우 익셉션이라한다.
처리가 가능하다.
프로그램이 동작중 예상하지 못한 상태가 발생하여 수행중인 프로그램이 영향을 받는것.
CheckedException(Compile tiem)

  • 컴파일시점에 예측이 가능하다.
    UncheckedException(Run time)
    • 컴파일 시점에는 예측이 불가능하고, 런타임시에 발생하는 예외

스프링에서의 예외처리

  1. 메소드 단위에서 try/catch를 이용하여 처리
  2. 컨트롤러 단위에서 @ExceptionHandler를 이용해서 처리
    • @Controller / @RestController 가 적용된 Bean내에서 발생하는 예외를 잡아서 하나의 메소드에서 처리해주는 기능.
  3. @ControllerAdvise를 이용하여 Global level에서 컨트롤러 이후 Client에게 전달되기 직전 처리
    • @ControllerAdvise 모든 @Controller 즉, 전역(Global)에서 발생할 수 있는 예외를 잡아서 처리해주는 어노테이션
반응형

'프로그래밍 > 면접대비문제' 카테고리의 다른 글

MVC란?  (0) 2021.01.11
Java Collection framework interface의 특징  (0) 2021.01.11
REST API에 대해서  (0) 2021.01.10
MSA란 무엇인가?  (0) 2021.01.10
[IT 개발자 면접 대비문제] Spring의 원리  (0) 2016.09.17

+ Recent posts