디자인 패턴(Design Pattern)이란, 코드가 좋은 효율을 내도록 하는 설계 방법론입니다. 디자인 패턴은 좋은 코드를 작성하기 위한 방법론 입니다. 여기서 말하는 좋은 코드란, 코드의 재사용성을 극대화하여 좋은 유지보수성을 갖게하는 코드를 의미합니다.이렇게 좋은
옵저버(Observer)는 관찰자라는 의미를 갖고있는데, 이 패턴이 변화가 발생하게 됨에 따라 객체들에게 알려주는 역할을 하기 때문에 옵저버 패턴이라는 이름을 가지게 되었습니다.옵저버 패턴(Observer Pattern)이란, 어떤 주제(속성, 값) 객체가 변화하게 되
어디선가 한 번쯤은 "데코레이션"이라는 말을 들어봤을 것입니다. 케이크 위에 과일이나 장식을 얹는 것, 음료에 가니쉬나 다양한 첨가물을 넣는 것들을 우리는 데코레이션 이라고 합니다. 이처럼 한 객체 위에 기능들을 입혀서 사용 목적에 걸맞는 객체로 만드는 것을 데코레이션
들어가기전에 new를 집고 넘어가려고 합니다. 갑자기 디자인 패턴하다가 new라는 키워드설명을 왜 하나요 싶겠지만, 팩토리 패턴과 밀접한 관련이 있습니다.우리가 객체를 생성할때 보통 객체 객체명 = new 객체생성자()와 같은 방식으로 new를 이용했습니다. 여기서 n
싱글턴 패턴은 이름에서 single; 하나의라는 의미가 들어가 있듯이 하나의 인스턴스 생성을 위한 패턴입니다. 즉, 단 한번의 객체 생성을 보장하는 패턴입니다. 싱글턴 패턴은 생성 패턴에 속합니다.처음들을 때는 객체 생성을 단 한번만 한다니까 의미없고 이상해보입니다.
커맨드 패턴은 특정 기능들을 캡슐화 시키는 패턴입니다. 캡슐화는 객체지향 프로그래밍의 개념 중 하나로, 관련있는 변수/함수를 하나의 클래스로 묶습니다. 그리고 외부에 은닉하는 것을 캡슐화라고 합니다. 커맨드 패턴은 행동 패턴에 속합니다.그래서 보통 매개변수를 이용해서
서론에서 언급했듯이 보통 어댑터를 전압에 따라 교체합니다. 스마트폰 충전기도 태블릿이냐 노트북이냐에 따라서 20w 어댑터로 교체하고 50w 어댑터로 교체하기도 하고 하죠. 이처럼 어댑터를 우리 입맛에 맞춰서 바꿔서 이용합니다. 이처럼 어댑터 패턴도 인터페이스를 사용자의
퍼사드(Façade)란 프랑스어로 건물의 출입 외벽을 의미합니다.아래 그림처럼 건물 외관에 대한 디자인을 의미합니다. 이처럼 퍼사드 패턴은 건물 외벽으로 전체를 간략하게 나타내주는 패턴입니다.퍼사드 패턴은 어떤 객체에 대해 서브 시스템들의 통합된 인터페이스를 제공하는
템플릿(Template)은 형판, 형틀이라는 뜻을 가지고있습니다. 형판이라는 것은 어떤 것을 만들기 위해서 미리 모양을 새겨 놓은 판을 말합니다.템플릿이 형틀이라는 의미를 갖고 있듯이, 템플릿 메소드 패턴은 특정 기능을 형틀처럼 캡슐화 하여 이용하는 기능입니다. 이때
이터레이터 패턴의 소개는 다음과 같이 합니다. 컬렉션의 구현 방법을 외부에 노출시키지 않으면서, 그 컬렉션 내부의 모든 항목에 대하여 접근할 수 있도록 하는 패턴이다. 조금 더 쉬운 말로 풀어보자면, 동작을 어떻게 하는지는 몰라도 내부의 항목에 대해서 반복 작업이 가능
스테이트 패턴은 객체 내부의 상태에 따라 동작을 변환할 때 이용하는 패턴입니다. 스테이트 패턴을 이용하면, 객체에 대해 여러 동작을 정의할 때 스테이트 객체만 수정, 추가하면 됩니다. 또한 스테이트 패턴을 사용하지 않을경우 조건문 등을 이용해서 동작을 제어해야하는데 스
프록시(Proxy)는 '대리'라는 의미를 가지고 있습니다. 지금까지 배웠던 패턴들의 내용이 이름을 따라서 동작했으므로 우리는 프록시 패턴도 무언가를 대리하는 패턴임을 알 수 있습니다.프록시 패턴은 실제 시능을 수행하는 객체를 대신해서 프록시 객체가 기능을 대신 수행해
Builder Pattern에 대해서 알아봅니다.