본문 바로가기

전체91

데코레이터 패턴이란? 디자인 패턴 중 하나인 데코레이터 패턴에 대해 포스팅합니다. 목차 데코레이터 패턴이란? 데코레이터 패턴 예제 데코레이터 패턴이란? 데코레이터 패턴은 기존 뼈대(클래스)는 유지하되 이후 필요한 형태로 꾸미기 위해 사용합니다. 기존 객체의 확장이 필요한 경우 상속의 대안으로도 활용합니다. SOLID 중 개방 폐쇄 원칙과(OCP)와 의존 역전 원칙(DIP)을 따릅니다. 현실세계를 예로 들면 케이크를 예로 들 수 있습니다. 기본 케이크 빵에 생크림을 추가하면 생크림케이크가 되고, 초코를 추가하면 초콜릿 케이크가 됩니다. 또 딸기를 추가하면 딸기 케이크가 될 수 있습니다. 이처럼, 케이크는 기존의 모습을 유지하고 어떤 것을 꾸미느냐에 따라 결과물이 달라질 수 있습니다. 데코레이터 패턴 예제 데코레이터 패턴은 자동.. 2022. 3. 31.
[파트 1. 스프링 입문] 챕터 2-4. 프록시 패턴 디자인 패턴 중 하나인 프록시 패턴에 대해 포스팅합니다. 프록시(Proxy) 패턴이란? Proxy는 대리인이라는 뜻으로써 무엇을 대신해 처리하는 것을 의미합니다. Proxy Class를 통해 대신 전달하는 형태로 설계되며, 실제 Client는 Proxy로부터 결과를 전달받습니다. Windows에서 프록시 서버를 사용하는 것으로 이해할 수 있습니다. Proxy 패턴은 Cache의 기능으로도 활용이 가능합니다. Spring에서는 AOP를 Proxy 패턴으로 사용하고 있습니다. 객체지향 원칙인 SOLID 중에서 개방폐쇄 원칙(OCP)과 의존 역전 원칙(DIP)를 따릅니다. Cache 기능구현 Cache 기능을 구현하기 위해 먼저 Browser 인터페이스와 화면에 출력을 위한 Html 클래스를 만들도록 하겠습니.. 2022. 3. 24.
[파트 1. 스프링 입문] 챕터 2-3. 어댑터 패턴 디자인 패턴 중 하나인 어댑터 패턴에 대해 포스팅합니다. 어댑터 패턴이란? Adapter는 실생활에서 110V를 220V로 변경하거나 그 반대로 220V를 110V로 변경해주는 변환기를 예로 들 수 있습니다. 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하여 사용할 수 있도록 합니다. 호환성이 없는 인터페이스 때문에 동작할 수 없는 클래스를 함께 동작할 수 있도록 해줍니다. 어댑터 패턴은 SOLID 원칙 중 개방 폐쇄 원칙(OCP)을 따릅니다. 예제 두 개의 Interface public interface Electronic110V { public void powerOn(); } public interface Electronic220V { public void connect(); } 각각.. 2022. 3. 14.
[파트 1. 스프링 입문] 챕터 2-2. 싱글톤 패턴 디자인 패턴 중 하나인 싱글톤 패턴에 대해 포스팅합니다. 싱글톤 패턴이란? 싱글톤 패턴은 어떠한 클래스(객체)가 유일하게 1개만 존재할 경우 사용합니다. 이를 주로 사용하는 경우는 여러 클래스(객체)가 서로 자원을 공유할 때 사용합니다. 현실 세계에서는 프린터를 예로 들 수 있으며, 실제 프로그래밍에서는 TCP Socket 통신에서 서버와 연결된 Connect 객체에 주로 사용합니다. Spring에서는 Bean이라고 불리는 객체가 싱글톤으로 관리됩니다. Bean은 개발자가 직접 생성하지 않고 ApplicatinContext을 통해서 Spring에서 관리하게 됩니다. 싱글톤 패턴은 기본적으로 default 생성자를 private으로 막고 getInstance라는 메서드를 통해 생성되어 있는 객체를 리턴하거.. 2022. 3. 14.