지원 주차 넷째날. 오늘은 이력서를 마무리하고 cs 공부를 했다.
이터레이터를 사용해 컬렉션의 요소들을 순회하는 인터페이스.
컬렉션의 내부 구현을 노출시키지 않으면서 요소들을 반복 처리할 수 있는 방법을 제공한다.
자료형의 구조와 상관없이 하나의 인터페이스로 순회가 가능
즉시 실행 함수를 통해 private, public 같은 접근 제어자를 만드는 패턴
모델, 뷰, 컨트롤러로 SW의 구조와 역할을 분리한다.
각 구성요소가 독립적으로 개발 및 테스트가 가능하다.
유지보수가 쉽고 확장성이 높다.
모델 : 애플리케이션의 데이터와 비즈니스 로직을 담당.
데이터를 유지하고 데이터의 변경 및 업데이트를 처리한다.
일반적으로 DB, API호출 등과 상호작용해 데이터를 가져오거나 수정한다.
뷰 : 데이터를 시각적으로 표현하는 부분을 담당한다.
모델에서 가져온 데이터를 기반으로 사용자 인터페이스를 생성해 데이터의 표시 방식을 결정한다.
사용자의 입력에 반응해 데이터 변경을 컨트롤러에 알린다.
데이터를 따로 저장하지 않고, 화면에 표시하는 정보만 가지고 있다.
컨트롤러 : 하나 이상의 뷰와 하나 이상의 모델을 잇는 다리 역할.
메인 로직을 담당. 모델과 뷰 간의 상호작용을 조정.
사용자의 요청을 받아 해당 요청에 맞는 모델의 처리를 지시하고 결과를 뷰에 전달한다.
스프링에서 MVC패턴이 사용된다.
MVC에서 파생되어 컨트롤러가 프레젠터로 교체된 패턴이다.
뷰와 프레젠터가 1대 1의 관계. MVC패턴보다 더 강한 결합.
MVC에서 파생되어 컨트롤러가 뷰모델로 바뀐 패턴
뷰모델 : 뷰를 더 추상화한 계층. 뷰와 뷰모델 사이의 양방향 데이터 바인딩 지원. UI를 별도의 코드 수정 없이 재사용 가능.
반응형 프레임워크인 Vue.js가 MVVM패턴.