본문 바로가기

프로그래밍/Design Pattern

[Design Pattern] Adapter Pattern(어댑터 패턴) - 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴- 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함께 작동하도록 해줌- 안드로이드에서는 RecyclerView, ListView, ViewPager, ViewFlipper 등에서 주로 쓰임 - 예제 설명1. Socket이라는 클래스는 getVolt 함수 호출 시 무조건 120 값을 가진 Volt 클래스 객체를 리턴함2. SocketAdapter라는 인터페이스에서 120, 12, 3 메소드를 선언함3. SocketClassAdapterImpl(Socket 클래스를 상속), SocketObjectAdapterImpl(Socket 클래스를 상속받지 않음)에서 SocketAdapter를 Implements하여 해당 메소..
[Design Pattern] Strategy Pattern(전략 패턴) - 실행 중에 알고리즘을 선택할 수 있게 하는 디자인 패턴- 인터페이스를 하나 만들고 그 인터페이스를 위임받아 알고리즘을 가진 클래스를 구현한 후 필요할 때 해당 클래스의 객체를 생성하여 set하는 형태로 구현- 예제 설명 1. Player라는 클래스는 Food, Weapon이라는 인터페이스 객체를 가지고 있음 2. Apple, Meat, ArrowRoot는 Food라는 인터페이스를 위임받음 3. Bomb, IcedTuna는 Weapon이라는 인터페이스를 위임받음 4. Player 객체에서 Food와 Weapon을 변경하면서 해당 동작 수행하면서 확인 - 예제 : https://github.com/masonljh/design_pattern/tree/master/src/main/java/StrategyPa..