비비디바비비부
프로그래밍저장소
비비디바비비부
전체 방문자
오늘
어제
  • 프로그래밍 (72)
    • 안드로이드 (5)
      • 잡다한 지식 (40)
      • Compose (2)
      • Design (3)
      • Project (6)
    • 리액트 (4)
      • 프로젝트 (1)
      • 잡다한 지식 (1)
    • 알고리즘 (3)
      • 알고리즘 문제 (3)
    • AI (4)
      • 딥러닝 (4)
    • CS (2)
    • 잡동사니 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
비비디바비비부

프로그래밍저장소

안드로이드/잡다한 지식

안드로이드에서 적용해본 템플릿 메소드 패턴

2022. 5. 9. 19:42

Anti-OOP: if를 피하는 법 : NHN Cloud Meetup (toast.com)

 

Anti-OOP: if를 피하는 법 : NHN Cloud Meetup

Anti-OOP: if를 피하는 법

meetup.toast.com

참고해서 프로젝트에 적용해봤다.

 

내가 진행하는 프로젝트에서는 다이얼로그 클래스는 하나이지만 다양하게 활용할 수 있도록 모드를 이용해서 dialog를 show 했다.

- 이전 코드

private fun registerADialog() {
	val dialog = customDialog()
    dialog.mode = 1;
    dialog.show(...)
}

private fun registerBDialog() {
	val dialog = customDialog()
    dialog.mode = 2;
    dialog.show()
}

 

내가 진행했던 코드에서는 A B 뿐만 아니라 여러개의 Dialog 모드가 존재해서 템플릿 매소드를 사용해서 리팩토링을 진행했다.

 

interface dialog {
	val mode: Int
    fun show() {
    	...
    }
}

class aDialog(...) : dialog {
	...
}

class bDialog(...) : dialog {
	...
}


이 내용을 통해서 결합도를 줄이는 방식에 대해서 더욱 더 자세히 알게 되었고, 프로젝트를 진행할 때 활용 할 예정이다.

저작자표시 비영리 동일조건 (새창열림)

'안드로이드 > 잡다한 지식' 카테고리의 다른 글

안드로이드 Doze 모드 정리  (0) 2022.05.16
구글 22 시작하기 전 정리한 구글 21 Android  (0) 2022.05.15
안드로이드 Sharedpreferences commit vs apply  (0) 2022.03.15
드로이드나이츠 2021 테스트코드편  (0) 2022.02.20
안드로이드 kapt  (0) 2021.12.08
    '안드로이드/잡다한 지식' 카테고리의 다른 글
    • 안드로이드 Doze 모드 정리
    • 구글 22 시작하기 전 정리한 구글 21 Android
    • 안드로이드 Sharedpreferences commit vs apply
    • 드로이드나이츠 2021 테스트코드편
    비비디바비비부
    비비디바비비부
    안드로이드 기술 블로그, 코딩 공부, 프로그래머

    티스토리툴바