chanho0908 / CloudBridge

🍰코틀린 베이커리 기부 어플리케이션🍰
0 stars 0 forks source link

[Refactor] ViewModel Repository 주입 방식 변경 #11

Closed chanho0908 closed 6 months ago

chanho0908 commented 7 months ago

어떤 부분을 리팩토링 했나요 ?

  1. ViewModelFactory에서 생성자로 Repository를 전달 받는 방식에서 Repository를 ViewModel Factory class의 property로 변경했습니다.

  2. View에서 ViewModelFractory를 lateinit var로 지연 초기화하는 방식에서 ViewModel 초기화 함수에서 객체를 바로 생성했습니다.

  3. initView 함수에서 viewModel 초기화 하던걸 initViewModel 함수를 만들어 분리했습니다.

어떤 이유로 리팩토링을 했나요 ?

  1. ViewModelFactory에서 생성자로 Repository를 전달 받을 경우 ViewModel이 처음 의도했던 Class가 아닌 다른 Class에서 사용할 경우 매번 Repository를 생성자로 전달해야 하기 때문에 중복되는 로직이 발생한다고 생각했습니다.

  2. 그냥 코드 한줄 줄어서 추가했습니다...ㅎ

  3. view를 초기화 하는 로직과 ViewModel을 초기화하는 로직을 분리해야 단일 책임 원칙에 위배되지 않는다고 생각했습니다.