관리 메뉴

caLAB

[개발] 쉽게 배워 바로 써먹는 디자인 패턴 01 - 팩토리(Factory) 패턴, 싱글톤(Singleton) 패턴 본문

독서

[개발] 쉽게 배워 바로 써먹는 디자인 패턴 01 - 팩토리(Factory) 패턴, 싱글톤(Singleton) 패턴

도이(doi) 2022. 4. 13. 17:52
728x90

개발을 할 때 체계를 갖추어 개발을 하고 싶다는 생각이 들어 항상 공부해야지 생각만 하고 있던

디자인 패턴에 대해서 공부해볼려고 책을 읽기 시작하였다. 

 

책의 내용만으로 파악이 힘든 부분은 유튜브 선생님들의 강의를 추가적으로 학습하여 완벽히 이해하려고 한다. 

매일 디자인 패턴 2개 씩만 습득하는 것이 목표이다. 

 

팩토리 패턴 

팩토리 패턴은 생성 패턴 중 하나로 '클래스의 객체 생성을 위임' 하는 디자인 패턴이다.

즉, 팩토리 패턴은 객체 생성을 하는 기능을 '생성 클래스' 혹은 '생성 메서드'로 분리하는 것이다.

 

장점

오브젝트의 복잡한 생성 과정을 클라이언트가 볼 필요없이 클라이언트는 팩토리에 생성할 객체에 대한 주문을 넣으면 된다. 팩토리는 필요한 오브젝트를 만들어서 return 해준다. 

 

팩토리에 넘겨주는 함수의 argument(인자)를 enum형식으로 하면 좋다. 

팩토리 패턴 코드 예시
팩토리 패턴 방식 도식화

싱글톤 패턴

싱글톤 패턴은 생성된 하나의 객체를 공유하는 방식으로 '오직 하나의 객체만 생성' 하는 디자인 패턴이다.

 

필요한 경우

- 공유 자원 접근 (객체의 resource가 큰 경우)

- 복수의 시스템이 하나의 자원에 접근

- 유일한 객체 필요

- 값의 캐시 필요 

*캐시란? 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소

싱글톤 패턴 코드 예시
싱글톤 패턴의 작동 구조

[참고 영상]

https://www.youtube.com/watch?v=AmwEIt0vhxA&list=PLDV-cCQnUlIYcAmW4j27i8aYPbja9HePm&index=2 

https://www.youtube.com/watch?v=-oy5jOd5PBg&list=PLDV-cCQnUlIYcAmW4j27i8aYPbja9HePm&index=7 

 

728x90
반응형
Comments