디자인패턴이란? 그 주요 분류는?
디자인 패턴은 소프트웨어 설계에서 흔히 발생하는 문제들에 대한 일반적인 해결책을 제공합니다. 이러한 패턴은 코드 내 반복되는 설계 문제를 해결하는 방법론으로, 생성(Creational), 구조(Structural), 행동(Behavioral) 패턴으로 분류됩니다.
생성 패턴(Creational Patterns): 객체 생성에 관련된 패턴으로, 객체의 생성 과정을 보다 유연하게 만들어 줍니다.
구조 패턴(Structural Patterns): 클래스나 객체를 조합해 더 큰 구조를 만드는 방법에 관한 패턴입니다. 이를 통해 서로 다른 인터페이스를 가진 클래스들이 잘 작동할 수 있도록 도와줍니다.
행동 패턴(Behavioral Patterns): 객체들 사이의 통신 방법에 초점을 맞춘 패턴으로, 복잡한 흐름을 관리하고 책임을 분산시키는 데 도움을 줍니다.
어노테이션이란? MVC패턴에서 사용되는 주 어노테이션은?
"Annotation 이란?
사전적 의미로는 주석이라는 뜻이지만, 자바에서 Annotaion(@)은 코드 사이에 특별한 의미, 기능을 수행하도록 하는 기술이다.
프로그램 코드의 일부가 아닌 프로그램에 관한 데이터를 제공하고, 코드에 정보를 추가하는 정형화된 방법이다.
어노테이션을 사용하면 코드가 깔끔해지고 재사용이 가능하다.
스프링 프레임워크에서 MVC 패턴을 구현하기 위해 @Controller, @Service, @Repository와 같은 어노테이션을 사용합니다.
@Controller(프레젠테이션): 컨트롤러의 역할을 하는 클래스에 사용됩니다. 클라이언트의 요청을 처리하고 응답을 생성하는 데 사용됩니다. @Controller 어노테이션을 사용하는 클래스는 HTTP 요청을 처리하기 위한 메소드들을 포함하고, @RequestMapping 어노테이션과 함께 특정 URL 패턴에 대한 처리를 정의합니다.
@Service(서비스): 서비스 계층의 클래스에 사용되며, 비즈니스 로직을 처리합니다. 컨트롤러와 데이터 접근 객체(DAO) 사이에서 중간 역할을 하며, @Service 어노테이션을 사용하는 클래스는 비즈니스 로직을 수행하는 메소드들을 포함합니다.
@Repository(퍼시스턴스): 데이터 접근 계층의 클래스에 사용됩니다. 데이터베이스와의 상호작용을 담당하며, DAO 클래스를 스프링 빈으로 등록하여 데이터베이스 연동을 처리합니다."
스터디 현황
