오늘은 어댑터패턴에 대해 포스팅 하겠습니다. 1. Adapter Pattern 이란?어댑터 패턴(Adapter Pattern)은 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴이로, 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함께 작동하도록 해 준다 (출처 : 위키백과) 간단하게 예를 들자면, 어댑터패턴은 돼지코입니다. 한국의 전자기기를 외국에서 사용해야 합니다. 물론 같은 국가도 있겠지만, 분명 전원 소켓이 다른 국가가 있고 여기에서 한국에 표준화된 전가기기를 사용하려면 반드시 돼지코가 있어야 합니다. 어댑터 패턴도 동일합니다. 기존에 사용하던 클래스가 있습니다. 고객이 제공한 클래스를 무조건 사용해야 한다고 요구를 받았을 때, 기존 클래스와 고객사에서 제공..
오늘은 커맨드 패턴에 대해 포스팅 하겠습니다. 1. Command 패턴이란?커맨드 패턴(Command pattern)이란 요청을 객체의 형태로 캡슐화하여 사용자가 보낸 요청을 나중에 이용할 수 있도록 매서드 이름, 매개변수 등 요청에 필요한 정보를 저장 또는 로깅, 취소할 수 있게 하는 패턴이다.- 출처 : 위키백과 command : 명령, 지휘라는 뜻을 가지고 있는 단어 입니다. 항상 디자인 패턴을 배울 때 마다 보는 단어가 캡슐화입니다. 매번 달라지는 부분을 클래스로 엮는데, 이번엔 요청(Command)이 바뀌어서 이 부분을 분리를 하는 패턴입니다.커맨드 패턴의 예시에 대해 먼저 이야기 해 보도록 하겠습니다. 고객사에게 리모컨의 API 디자인을 의뢰받았습니다. 각 버튼은 집 안의 선풍기, 에어컨, 거..
매일 개발환경 구축만 하다가 포스팅이 끝나는 것 같은 기분이 드는 건 저만 그런거겠죠?작년에 Anaconda를 이용한 개발환경 구축 포스팅으로 처음 글을 썼던 것 같은데, 1년 새에 제 개발환경이 많이 바뀌었습니다. 바로, 우분투 쓰면서 줄곧 써보고 싶던 맥북을 드디어 마련하게 되었습니다. 그렇게 얼마 전부터 모든 개발환경을 다시 구축하고 있는 중입니다. 그 중 Mac으로 파이썬 개발환경 구축하는 과정을 포스팅하려 합니다. 1. 패키지 관리자 설치유닉스, 리눅스 기반 OS의 장점 중 하나인 "한 줄로 프로그램 설치!!" 를 가능하게 해주는 고마운 친구입니다. 예전에 우분투에선 apt-get을 이용했었는데, 맥에선 homebrew를 이용한다고 합니다.https://brew.sh/index_kohomebre..
오늘은 싱글톤 패턴에 대해 소개해보려고 합니다.제가 제일 처음 접한 디자인패턴이라, 여러모로 특별한 의미를 가지는 디자인 패턴이고, 제가 생각하기엔, 가장 많이 활용되는 디자인패턴이 아닌가 싶습니다. 1. 싱글톤 패턴이란? Single, 즉, 단 하나밖에 없는 인스턴스입니다.특징은 생성자가 여러번 호출 되도 결국 이 인스턴스는 전체를 통틀어 단 하나밖에 없는 것이 특징입니다. 예를 들자면, 한 프로그램 통틀어서 필요한 기본설정 정보는 굳이 여러 개일 필요가 없습니다. 설정정보는 하나만 가지고 있고, 설정이 필요한 곳에서 설정 정보를 이 싱글톤으로 받아 쓰게 구현 하면, 중복을 줄일 수 있습니다.이 디자인의 특징적인 면은, 처음부터 전체 코드에 통틀어 한 객체 밖에 못 만들게 설계 되어 있다는 점에 있습니..
오늘은 두 번째 디자인 패턴인 옵저버패턴에 대해 포스팅 하려고 합니다. 1. 옵저버 패턴이란, 옵서버 패턴(observer pattern)은 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 디자인 패턴이다. 주로 분산 이벤트 핸들링 시스템을 구현하는 데 사용된다. 발행/구독 모델로 알려져 있기도 하다. - 출처 : 위키백과 간단하게 이야기 하면, 어떤 객체의 상태가 변하게 되면, 변한 객체가 그 밑의 관찰자들에게 변했다는 것을 알리는 디자인 패턴의 일종입니다. 헤드퍼스트 책의 예제를 활용하여 (동일하진 않고, 간결한 설명하기 위해 케이스를 줄였습니다) 옵저버패턴을 설명해 보겠습니다. ..