2012. 5. 22. 23:43

1. 어뎁터 패턴이란?!


어뎁터 패턴은 110v 의 콘센트를 220v 단자에 꼽기위한 노력에서 시작된다고 생각하면 된다. 

아래의 그림을 보자.

이렇게 우리는 110v 를 220v 로 꼽기 위해 돼지코라 불리우는 마법의 소켓을 끼우게 된다.

어댑터 패턴 역시 이러한 마법의 소켓 역할을 하게 도와준다.


간단하게 큰 틀만 보기 위해 아래 그림을 보자.


그림을 보기 힘들다.. 그래 나도 안다. 하지만 제발 한번만 어떤 부분이 무슨 역할을 하는지 보고 다음으로 넘어가자.


우선 110v 라디오와 220v 라디오를 만들자.


T220Radio 플레이어에 220v 라디오를 넣고 동작시키면 잘 돌아가지만, 110v 라디오를 꼽으면 에러가 뜨게 된다.

이러한 110볼트의 콘센트 문제 때문에 우리는 돼지코를 끼워 220v 콘센트로 바꿔야 한다.


다시 돌아가서 만들어진 라디오의 콘센트 모양을 보자 라디오는 11 자형 라디오와  00 모양의 라디오 두가지로 이루어져 있다.


그리고 이 220v (twotwo) 콘센트를 implement 하여 돼지코 어뎁터를 만들고, 그 돼지코 어댑터의 생성자에 110v 라디오 객체를 받아와 조작하여 출력시켜 준다. 

즉 슬롯은 220v인데 110v 단자로 받아 처리하는 것이다. 




느낀점.


어댑터 패턴은 안드로이드 개발을하면서 SQL-lite를 사용할 때 DB접근을 위하여 사용했던 부분이였었다. 처음엔 SQL 쿼리문의 결과값을 그냥 가져와서 쓰지 못할까? 배열로 저장시키면 되지 않을까? 했는데, 이러한 타입형 문제가 존재하기에 불가능 하다.


난 어댑터를 사용하면서 이게 패턴인줄도 모르고 사용하고 있었던 것이다. 


어댑터 패턴은 안드로이드에서는 정말 자주 쓰였던 패턴이므로  코드까지 직접 구현하여 설명을 하였다. 


지금 이 글을 읽는사람이 누구든간에 잘 숙지되었으면 좋겠다. 



hack the planet~! 



Posted by k1rha