본문 바로가기
My Image
반응형

프로그래밍/Design_Pattern9

[Design_Pattern] 데코레이터 패턴(Decorator Pattern) 안녕하세요. Limky 입니다. 이번 시간에는 데코레이터 패턴(Decorator Pattern)에 대해서 알아보겠습니다. Decorator 는 우리말로 장식자라는 뜻을 가지고 있습니다. 말 그래도 원본에 대해서 무언가를 더 입혀서 새로운 것을 만든다는 뜻입니다. 자 끝났습니다. Decorator는 Proxy패턴하고 똑같습니다. 다만 차이점이 있다면, Proxy 패턴은 반환값을 수정하지 않고 온전하게 반환하지만, Decorator는 반환 값을 조작해서 반환합니다. 바로 Decorator 패턴에 대한 디자인 패턴 테이블을 보겠습니다. 데코레이터 패턴(Decorator Pattern)은 반환 값에 장식을 더한 것을 빼면 프록시 패턴과 동일합니다. 바로 예제를 통해서 알아보겠습니다. Cake.java publi.. 2017. 8. 25.
[Design_Pattern] 프록시 패턴(Proxy Pattern) 안녕하세요. Limky 입니다. 이번 시간은 프록시 패턴(Proxy Pattern)에 대해서 알아보겠습니다. Proxy는 우리말로 대리자, 대변인 이라는 뜻입니다. 대리자, 대변인은 다른 누군가를 대신해서 그 역할을 수행하는 존재입니다. 프로그램에서 봤을 때도 똑같습니다. 프록시에게 어떤 일을 대신 시키는 것입니다. 구체적으로 인터페이스를 사용하고 실행시킬 클래스에 대한 객체가 들어갈 자리에 대리자 객체를 대신 투입해 클라이언트 쪽에서 실제 실행시킬 클래스에 대한객체를 통해 메서드를 호출하고 반환 값을 받는지, 대리자 객체를 통해 메서드를 호출하고 반환 값을 받는지 전혀 모르게 처리하는 것입니다. 일종의 프록시는 비서역할을 하는 것 같네요. 중요한 것은 흐름제어만 할 뿐 결과값을 조작하거나 변경시키면 안.. 2017. 8. 25.
[Design_Pattern] 어댑터 패턴(Adapter Pattern) 안녕하세요 Limky입니다. 오늘은 디자인 패턴 중 어댑터 패턴(Adapter Pattern)에 대해서 알아보겠습니다. Adatper 를 우리말로 바꿔보면 변환기 정도로 해석됩니다. 실생활에서 변환기를 우리는 참 많이 사용합니다. 예를 들어 핸드폰 충전기입니다. 핸드폰을 컨센트에다가 직접 접촉시켜 충전하지 않고 충전기라는 어댑터를 통해 핸드폰과 컨센트를 연결하여 핸드폰을 충전합니다. 그렇다면 왜 이런 Adapter를 쓸까요???? 바로 기존에 이미 잘 구축되어 있는 것을 새로운 어떤 것이 사용 할 때 양쪽 간의 호환성을 유지해주기 위함입니다. 자바에서도 직접적으로 메서드를 호출하지 않고 중간에 어댑터를 거쳐서 메서드를 호출하도록 하는 패턴이 바로 어댑터 패턴(Adapter Pattern) 입니다. 아래는.. 2017. 8. 25.
[Design_Pattern] Singleton(싱글톤)의 고도화 안녕하세요. 지난 시간에 안드로이드버전으로 간단한 싱글톤(Singleton)을 배워봤는데, 이번시간은 간단한 싱글톤(Singleton)이 아닌 여러 상황을 고려하여 고도화된 싱글톤(Singleton)을 알아볼까 합니다. 하나하나 음미하며 공부해봅시다! 1. Eager initialization (이른 초기화 방식) 먼저 Singleton의 가장 기본적인 Eager initialization 방식입니다. 먼저 클래스 내에 전역변수로 instance 변수를 생성하고 private static을 사용하여 인스턴스화에 상관없이 접근이 가능하면서 동시에 private 접근 제어 키워드를 사용해 Eager initialization.instance 로 바로 접근 할 수 없도록 합니다. 또 생성자에도 private .. 2017. 7. 27.
반응형