스프링이란?

엔터프라이즈용 Java 애플리케이션 개발을 도와주는 오픈소스 경량급 애플리케이션 프레임워크

  1. POJO
  • 순수 자바 객체
  • Java 스펙에 정의된 기술만 사용
  • 외부 라이브러리나 모듈을 사용하지 않음
  • 특정 기술이나 환경에 종속되지 않음

    2. IoC/DI

  • 제어의 역전
  • 의존성 주입

    3. AOP

  • 공통된 관심사를 분리하여 모듈화 하는 프로그래밍 기법

    4. PSA (Portable Service Abstraction)

  • 특정 기술과 관련된 서비스를 추상화하여 일관된 방식으로 사용할 수 있게 함
  • 예) JDBC

 

스프링부트란?

스프링의 문제점을 해결해주기 위해 개발된 프레임워크

스프링 애플리케이션 개발을 빠르게 시작할 수 있도록 도와주는 프로젝트에서 시작

  1. 간결한 설정 - xml 필요 없다 
  2. 내장 서버 - tomcat
  3. 의존성 관리 간소화 - application.properties starter
  4. 운영 편의성 - ???

'-- 기타 -- > 개발 일기' 카테고리의 다른 글

[면접 준비] 디자인 패턴 & MVC 패턴이란?  (0) 2024.04.25
[면접 준비] OOP란?  (0) 2024.04.25

디자인 패턴이란?

프로그래밍 중에 빈번하게 발생하는 문제의 해결방법을 정리해둔 규약

 

MVC 패턴이란?

디자인 패턴 중 하나

프로젝트를 구성할 때 구성요소를 모델, 뷰, 컨트롤러 3가지 역할로 구분

 

모델

데이터와 데이터를 가공하는 컴포넌트

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

 

사용자에게 보여지는 인터페이스

데이터와 객체의 입력과 출력을 담당

  1. 모델이 가지고 있는 정보를 따로 저장해서는 안 된다
  2. 모델이나 컨트롤러에 대해 어떤 정보도 알고 있으면 안 된다
  3. 변경이 일어나면 변경 통지에 대한 처리 방법이 구현되어 있어야 한다

 

컨트롤러

모델과 뷰를 잇는 다리 역할

사용자 이벤트를 처리

  1. 모델과 뷰에 대해 알고 있어야 한다
  2. 모델이나 뷰의 변경을 모니터링 해야 한다

 

MVC패턴을 쓰는 이유

각자의 역할에 집중하여 개발하면 유지보수성과 확장성, 유연성이 증가

'-- 기타 -- > 개발 일기' 카테고리의 다른 글

[면접 준비] 스프링 & 스프링부트란?  (0) 2024.04.26
[면접 준비] OOP란?  (0) 2024.04.25

객체 - 실재하는 모든 것

 

추상화, 상속, 다형성, 캡슐화가 특징

 

  1. 추상화 - 공통의 속성과 기능을 모아 추출하는 것
  2. 상속 - 기존에 클래스를 재활용 하여 새로운 클래스를 만드는 것
  3. 다형성 - 어떤 객체의 속성이나 기능이 상황에 따라 다양한 형태를 띠는 것, 메서드 재정의, 메서드 중복정의가 이에 해당
  4. 캡슐화 - 서로 연관있는 속성과 기능을 하나의 캡슐로 묶어서 외부로부터 보호하는 것

+ Recent posts