전체태그 보기

#GOF (7개의 포스트)

파사드 패턴(Facade Pattern) 알아보기
ys19991
Facade Facade Pattern은 Sub System의 Interface를 통합적으로 더 쉽게 사용할 수 있는 High Level Interface를 정의하기 위해 사용합니다. 복잡하게 얽혀있는 Sub System을 그 대로 사용하기에는 사용할 때 마다 복잡한 과정을 거쳐야하기 때문에 해당 기능들을 쉽게 사용하게 하기 위함입니다. Facade Isn...
어댑터 패턴(Adapter Pattern) 알아보기
ys19991
Adapter 어댑터 패턴을 가장 쉽게 이해할 수 있는 방법으로는 진부하지만 220V 콘센트를 110V 콘센트로 변환하는 예제가 가장 어울리는 것 같습니다. 220V 콘센트나 110V 콘센트 모두 하는 일은 동일하지만 규격(Interface)가 맞지 않아 같은 콘센트로는 사용할 수 없습니다. 그래서 콘센트 중간에 Adapter를 끼워서 규격이 맞게 만들 수...
옵저버 패턴(Observer Pattern) 알아보기
ys19991
Observer GUI Interface Application에서 Button이나 특정 Key를 입력할 때 어떻게 그에 맞는 Event가 발생하게 될까요? 일반적으로 Button 혹은 특정 Key가 입력되는 지를 감시하는 EventListener가 있습니다. Button이 입력되면 EventListener가 해당 변경을 알아차리고 등록된 Event를 실행시...
빌더 패턴(Builder Pattern) 알아보기
ys19991
Builder Instance를 생성할 때 field 값을 초기화하는 방법은 여러 방법이 있습니다. 대표적으로는 Constructor에서 각각의 인자들을 삽입하거나 Factory Method에서 값을 Set한 Instance를 반환합니다. 허나, 이 두 경우 모두 유동적으로 특정 Field의 값만 초기화하여 반환하기 위해서는 그 경우에 수 만큼의 Const...
플라이웨이트 패턴(Flyweight Pattern) 알아보기
ys19991
Flyweight 플라이웨이트 패턴(Flyweight Pattern)은 Data를 공유하여 Memory와 Instance 생성 시간을 절약하는 패턴입니다. 예를 들어 Instance 내부에 특정한 Instance Field를 가져야 하는데,해당 Class에서 생성되는 Instance 대부분이 동일한 Instance Field를 가질 때 각각의 Instanc...
싱글톤 패턴(Singleton Pattern) 알아보기
ys19991
Singleton 싱글톤 패턴(Singleton Pattern)은 대부분의 디자인 패턴 책의 첫 챕터에 등장합니다. 그 만큼 일반적인 대중적이고 가장 잘 알려진 이 패턴을 알아보도록 하겠습니다. 싱글톤 패턴은 기본적으로 Application 상에서 단 한개의 Instance만 필요할 경우 사용됩니다. 동일한 Instance가 여러개가 존재한다면 그 만큼 ...
changhoi

GOF 디자인패턴 #1

2019년 6월 15일0개의 댓글
배경지식 Interface 객체의 인터페이스는 객체의 operation으로 이루어져있다. 인터페이스는 객체의 operation에 의해 정의된 모든 시그니처의 모음이고, 객체가 응답할 수 있는 모든 요청을 설명한다. Implementation / Encapsulation 깔끔하게 interface와 implementation을 분리하려면 ...