[디자인 패턴] 커맨드 패턴

디자인 패턴 커맨드 패턴

커맨드 패턴이란, 요청을 객체의 형태로 캡슐화 해서 사용자가 보낸 요청을 나중에 이용하도록 하는 패턴이다. 호출과 수신자 클래스 사이의 의존성이 제거 되며, 이벤트가 발생했을 때 실행될 기능이 다양하지만, 변경이 필요한 경우 재사용 할 수 있어 유용하다.

프로젝트 생성 시 폴더 구조(Gradle)

Spring 프로젝트 구조 생각해보기

ProjectName
  ├── src/main/java : 자바 파일이 모여있는 폴더
  ├── src/main/resources : DI를 위한 프로퍼티, xml 파일 등 자바 외의 자원이 모여있는 폴더
  ├── src/test/java : main에 있는 코드를 테스트 하기 위한 폴더로 테스트 자바 코드가 모여있다.
  ├── src/test/resources : 테스트에 필요한 자원 들을 모아둔다.
  ├── JRE System Library
  ├── Gradle Dependencies : (메이븐/그래들)이 자동으로 관리해주는 라이브러리가 모여있는 곳
  ├── build
  ├── src
  └── target

Maven VS Gradle

프로젝트 구성 전 메이븐과 그래들 뭘 선택할까?

스프링을 하다보면, 빌드 도구로 메이븐과 그래들 중 선택하는 경우가 있다. 우선 각각 무엇인지 알아보고, 빌드 도구를 선택하자. 그전에 Ant 와 Make에 대해서 간단히 설명해보겠다.

[디자인 패턴] 프록시 패턴

디자인 패턴 프록시 패턴

프록시 패턴이란, 기존 객체를 대신하여 처리하는 것으로 로직의 흐름을 제어하는 패턴이다. 프록시 라는 말 자체가 대리 와 같은데, 실제 클라이언트가 기능을 호출하는 것이 아니라 프록시를 거쳐서 사용하는 것과 같다. 단 제어만 할뿐 조작이나 변경을 하는 것이 아니다. 이런, 굳이 프록시를 두는 이유는… 다음과 같다.

Pagination