1. Mvc 패턴
- [설명]
- 절대적 완성된 코드가 아님, 비즈니스 로직으로부터 분리하는 것을 말합니다
- [구조]
- Model
- Application을 표현하기 위한 data 관리하는 부분입니다
- View
- Client에게 정보가 표현되는 방식을 관리하는 부분입니다
- Controller
- Client의 입력을 받아 Model이 이해할 수 있는 형태로 변환 합니다
2. IoC[Inversion of Control]
- [설명]
- 제어의 역전이라는 뜻으로, 프로그램의 흐름을 개발자가 아닌 컨테이너가 제어하는 디자인 패턴 입니다
- IoC를 사용하면 개발자는 객체의 생성, 의존성 주입, 소멸과 같은 객체의 생명주기를 컨테이너에게 맡길 수 있습니다
- 개발자는 비즈니스 로직에 집중할 수 있고, 코드의 재사용성과 유지보수성이 향상 됩니다
- [장점]
- 개발자는 비즈니스 로직에 집중할 수 있습니다
- 코드의 재사용성이 향상됩니다
- 코드의 유지보수성이 향상됩니다
- 테스트가 용이합니다
- 시스템의 유연성이 향상됩니다
- [단점]
- 초기 설정이 복잡할 수 있습니다
- 컨테이너에 대한 이해가 필요합니다
- 특정 프레임워크에 종속될 수 있습니다
3. SpringMVC패턴
- [설명]
- Java 웹 애플리케이션을 개발하는 데 사용되는 애플리케이션 아키텍처 패턴 입니다
- 모델-뷰-컨트롤러의 약자로, 웹 애플리케이션의 기능을 모델, 뷰, 컨트롤러의 세 부분으로 분리하여 개발하는 패턴 입니다
- 웹 애플리케이션을 개발하는 데 사용되는 다양한 프레임워크 중 하나 입니다
- 웹 애플리케이션을 개발하는 데 필요한 다양한 기능을 제공 합니다
- [구조]
- Model
- 웹 애플리케이션의 데이터를 담당 합니다
- View
- 웹 애플리케이션의 화면을 담당 합니다
- Controller
- 웹 애플리케이션의 사용자 입력을 처리하고 모델과 뷰를 조정 합니다
- [기능]
- 웹 애플리케이션의 컨트롤러를 자동으로 생성해줍니다
- 웹 애플리케이션의 뷰를 생성해줍니다
- 웹 애플리케이션의 데이터를 캡슐화 해줍니다
- 웹 애플리케이션의 보안을 제공 해줍니