본문 바로가기
반응형

spring4

팩토리 메소드 패턴 (Factory Method Pattern) 오늘은 팩토리 메소드 패턴(Factory Method Pattern) 에 대해서 글을 쓰고자 한다. 요즘 Spring 프레임워크를 공부하고 있는데 내가 요즘 듣는 강의와 책에서 공통적으로 해당 패턴을 설명하기에 내 나름대로 정리하고자 한다. 정의 팩토리 메소드 패턴 은 간단하게 설명하자면 객체의 생성 부분을 별도의 클래스로 분리해 캡슐화 시키는 것이다. 상위 클래스에 하위 클래스를 생성하는 부분을 감출수 있고 어떤 객체를 생성할 것인지 하위 클래스가 결정할 수도 있다. 장점 팩토리 메소드 패턴을 통해 객체를 생성하는 코드의 중복을 피할 수 있다. 객체의 생성 로직과 사용하는 로직을 분리해 코드 결합도와 의존성을 낮추고 객체 생성에 대한 책임을 서브클래스에 위임할 수 있다. 예제 UML Class Diag.. 2022. 3. 6.
[Spring 기초] Spring 3대 요소 (3) Portable Service Abstraction 2021.09.22 - [Java/Spring 기초] - [Spring 기초] Spring 3대 요소 (2) Aspect Oriented Programming 이전 글에 이어 이번에는 Spring 3대 요소 중 세 번째인 PSA (Portable Service Abstraction) 에 대해서 알아보고자 한다. (이번 글도 백기선님의 강의 를 참고해서 정리했다.) PSA 란 무엇인가 ? PSA 란 백기선 님의 말을 빌리자면 '잘 만든 인터페이스' 라고 한다. (처음에는 좀 잘 안 와닿았는데 몇 가지 예시를 보니 이해가 갔다.) 내 이해로는 추상화가 굉장히 잘 된 인터페이스라고 이해했다. 작업 환경이나 기술이 변화더라도 일관된 방식의 접근 방식을 제공하여 의존성을 크게 고려하지 않아도 되는 구조라고 이해했.. 2021. 9. 22.
[Spring 기초] Spring 3대 요소 (2) Aspect Oriented Programming 2021.09.19 - [Java/Spring 기초] - [Spring 기초] Spring 3대 요소 (1) Inversion of Control 이전 글에 이어 이번에는 Spring 3대 요소 중 두 번째인 AOP (Aspect Oriented Programming) 에 대해서 알아보고자 한다. (이번 글도 백기선님의 강의 를 참고해서 정리했다.) AOP 란 무엇인가 ? 직역하자면 관점 지향 프로그래밍 인데 어떤 프로그램에서 핵심 기능이 있다면 부가적인 기능들을 분리해 분리된 기능의 관점에서 기능을 모듈화 하여 설계 및 개발하는 것이다. 핵심 기능과 부가적인 기능들이 분리되어 있기 때문에 핵심 기능의 수정 없이 쉽게 부가 기능을 붙이거나 수정할 수 있고 코드의 재사용성을 높일 수 있다. (AOP 도 역.. 2021. 9. 22.
[Spring 기초] Spring 3대 요소 (1) Inversion of Control 이번엔 갑분 스프링으로 돌아왔다. 스프링을 공부해볼 것이다. 먼저 스프링 필수 3대 개념 중 하나인 Inversion of Control 에 대해서 알아보겠다. Inversion of Control 이란 ? 직역하자면 '제어의 역전' 이라는 뜻이다. 처음에는 이게 무슨 말이지 !? 싶었는데 열심히 이해해본 과정을 글로 남겨보고자 한다. (백기선님의 강의를 보면서 기초를 학습했다.) 샘플 프로젝트 : Github Link (스프링 공식 홈페이지 가이드) 보통 자바에서 객체를 생성하려면 new 키워드로 생성자 함수를 호출하여 객체를 생성할 것이다. class OwnerController { private OwnerRepository repository = new OwnerRepository(); } (내가 .. 2021. 9. 19.
반응형