잡동사니

GoF 디자인 패턴 수강 후기 (feat. Youtube) 본문

IT/소프트웨어 공학

GoF 디자인 패턴 수강 후기 (feat. Youtube)

yeTi 2022. 6. 17. 11:42

안녕하세요. yeTi입니다.
오늘은 백기선님의 디자인 패턴 강의를 본 후기를 기록하려고 합니다.

수강 계기

디자인 패턴은 주기적으로 공부를 시도하는 영역인대도 불구하고 끝을 보기가 쉽지 않은거 같습니다.

같은 이유로 시도할 때가 되서 본게 아닌가 싶습니다.

싱글톤 패턴

싱글톤 패턴은 프로그램내에 유일한 인스턴스를 가지게하고 싶을 때 사용할 수 있는 패턴입니다.

구현 방법으로 간단하게 syncronozed 키워드를 사용하는 방법과

클래스 로드시점에 인스턴스를 생성하는 eager initialized 방법

인스턴스를 생성하는 시점에 syncronozed 를 활용하는 double checked locking 방법

static 키워드의 단일 인스턴스의 특성을 활용하는 static inner class 방법이 있습니다.

해당 강의에서는 언급하지 않았지만 Enum 을 활용하여 싱글톤 패턴을 구현할 수도 있습니다.

구현 방식은 개발자의 선호도에 따라서 double checked locking, static inner class, enum 중 선택해서 사용하시면 됩니다.

프록시 패턴

프록시 패턴은 객체지향 원칙 중 SRPOCP를 유지하면서 클래스를 변경할 수 있는 패턴입니다.

즉, 기존 클래스의 기능을 변경하지 않으면서 새로운 기능을 추가할 수 있습니다.

구현 방법으로는 상속을 사용하는 방법과 인터페이스를 사용한 방법이 있습니다.

Java 에서는 런타임시에 프록시를 생성할 수 있도록 다이나믹 프록시 기능을 제공하도 있으며

스프링 프레임워크에서는 AOP와 같이 다이나믹 프록시를 활용한 서비스 추상화 계층을 제공합니다.

느낀점

그 동안은 디자인 패턴을 공부해 보면 원론적으로 그렇구나.. 하고 느껴지는 경우가 많았는데요.

나름데로 자바와 스프링을 공부한 이후에 디자인 패턴을 봐서 패턴의 필요성이나 패턴의 구현 예시가 좀 더 실질적으로 느껴져서 매우 재미있게 봤습니다.

이후 인프런 강의로 좀 더 자세한 내용을 봐야할거 같습니다.

Comments