728x90
반응형

어려워 3

[디자인패턴] 커맨드 패턴 | Command Pattern | 안드로이드 예제

우는 아이도 보면 울음을 그친다는 마법의.... 리모컨! 이 떠오르는 이번 디자인 패턴!! 은 바로바로바로!!!! 커맨드 패턴 입니다.! 커맨드 패턴이란 ? 요청을 객체의 형태로 캡슐화하여 사용자가 보낸 요청을 나중에 이용할 수 있도록 매서드 이름, 매개변수 등 요청에 필요한 정보를 저장 또는 로깅, 취소할 수 있게 하는 패턴이다. 출처 : 위키백과 쉽게 다시 설명을 하자면! 조명을 컨트롤 할 수 있는 리모컨이 있다고 생각해보자. 아래 그림에서 빨간 동그라미가 쳐져있는 버튼을 누르면 조명이 켜지게 된다. 이때 리모컨에 대한 구현을 어떻게 하면 좋을까 ? Q. 각 버튼에 대해 기능을 지정해 주면 되지 않을까? 1번, 2번, 3번 ... 버튼들에 대해 각각의 기능을 정의해주면 되지 않을까 생각해본다. if(..

[디자인 패턴] Observer pattern | 옵저버 패턴

오늘의 함께 공부할 패턴은 옵저버 패턴 입니다. "옵저버" 라는 말을 들어본 적이 있나요? 저는 안드로이드 개발 하면서 database 값을 많이 사용하는데, 이때 이 값의 변화를 실시간으로 알고자 할때 "ContentObserver"를 사용했었습니다. 사실.. ContentObserver의 소스를 본 적은 없기에, 명확하게 동작을 알지 못하고 사용하고 있었습니다. 이번 스터디가 ContentObserver의 소스를 살펴보게 해주었습니다. 일단 옵저버 패턴! 우리 주변에서 사용법을 찾아보면 어떤 것들이 있을까요? 일단 저는 유튜브 구독 시스템으로 설명을 해보려 합니다. 위 사진에서 빨간 사각형 안에 있는 핸드폰들이 유튜브 한 채널을 구독하고 있는 5명의 구독자들 입니다. 만약 구독자들이 "구독"을 하고 ..

[디자인 패턴] 싱글톤 패턴

디자인 패턴 공부.. 숙제가 블로그에 정리하기였는데.. 이제야 정리하네요ㅕ,, 하하 다음엔 일등으로 해보겠습니다..! 싱글톤 패턴이란? 싱글턴 패턴은 인스턴스가 딱 1개만 생성되야 하는 경우에 사용되는 패턴 프린터로 예를 들면, 아래 사진처럼 "프린터" 한 대가 있고, 이 프린터를 8명의 user가 사용하길 원하고 있는 상황이 주어져 있다. 프린터 사용에 대한 과정을 코드로 작성해본다면 어떻게 하면 될까? 제안 1. 단순하게 생각하면, Printer를 관리하는 소스는 이렇게 구현하면 될 것 같다. 하지만 위의 소스처럼 구현을 하게되면, "public"으로 되어 있기 때문에 접근하는 사용자마다 PrinterManager 객체를 생성하게 되고 그럼 총 8개의 PrinterManager 객체가 생성되어 하나의..

728x90
반응형