스팀 앱 개발기 #32 - 리팩토링: 데이터 클래스 이름 변경
시작하며...
이번 포스트에서는 클린 아키텍처 원칙을 따르기 위해 리팩토링을 진행합니다. 대상은 데이터 및 도메인 모듈의 데이터 클래스들의 이름 변경입니다.
도메인 모듈의 데이터 클래스
다행히 변경할 데이터 클래스는 1개만 있네요. 프로젝트 초반이라서 작업량이 적은 것입니다. 만약 개발을 많이 해서 데이터 클래스가 50개 이상이라면? 단순하지만, 반복되는 작업을 계속 해야만 합니다.
As-is | To-be |
---|---|
SteemitWalletDTO | SteemitWallet |
데이터 모듈의 데이터 클래스들
GetAccountsParams을 GetAccountsParamsDTO로 변경하면서 이 클래스는 앱에서 서버로 전송(transfer)할 파라메터임이 분명해집니다. 나머지 클래스들은 서버로부터 받는 자료들입니다. 이들도 클래스 이름의 끝에 DTO를 붙여 앱이 전송(transfer) 받는 자료임을 명확히 해줄 수 있습니다.
As-is | To-be |
---|---|
GetAccountsParams | GetAccountsParamsDTO |
GetAccountsResponseEntity | GetAccountsResponseDTO |
SteemitAccountEntity | SteemitAccountDTO |
SteemitKeyEntity | SteemitKeyDTO |
ManabarEntity | ManabarDTO |
GitHub Commit
마치며...
다음 포스트에서는 WalletViewModel 클래스에 ReadSteemitWalletUseCase 객체를 추가하여 지갑 정보를 읽는 코드를 구현할 예정입니다.
지난 스팀 앱 개발기
- #31 - 도메인 모듈에서 정의하는 데이터 클래스들이 DTO 패턴을 따르는 것이 맞는가?
- #30 - 진도를 더 나가기 전에 리팩토링 고려 중
- #29 - 뷰모델, Repository 패턴 그리고 Use Case 패턴의 관계
- #28 - Use Case 패턴 적용
- #27 - Repository 패턴 적용
- #26 - condenser_api.get_accounts API로 받은 계정 자료를 SteemitWalletDTO 타입으로 변환하기
- #25 - SteemClient, SteemService 잘 작동하는지 유닛 테스트
- #24 - API 실행을 담당할 SteemService 인터페이스 정의
- #23 - condenser_api.get_accounts API 연동에 필요한 데이터 클래스 정의
- #22 - API 연동에 필요한 라이브러리 추가
- #21 - 사용자 지갑 정보를 담을 SteemitWallet 클래스 정의
- #20 - 클린 아키텍처를 위한 모듈 구성 (2)
- #19 - 클린 아키텍처를 위한 모듈 구성 (1)
- #18 - VEST로부터 STEEM POWER를 계산하는 방법
- #17 - VEST를 STEEM POWER로 변환하기 위해 필요한 get_dynamic_global_properties API
- #16 - 지갑 내용을 읽기 위해 필요한 API
- #15 - 지갑 서브화면(WalletFragment) 레이아웃 구성해 보기
- #14 - 지갑 서브화면(WalletFragment)에서 계정 인식하기
- #13 - 프로파일 서브화면(ProfileFragment)에서 계정 인식하기
- #12 - 태그 서브화면에서 태그 인식하기
- #11 - 검색 레이아웃을 메인 화면에 적용
- #10 - 태그 및 계정 검색 레이아웃 만들기
- #9 - BaseActivity 클래스 정의 그리고 MainActivity 클래스에 적용
- #8 - BaseFragment 클래스 정의 그리고 기존 프래그먼트들에 적용
- #7 - ProfileFragment 그리고 WalletFragment에 데이터 바인딩 적용
- #6 - 태그별 검색 내용을 보여줄 TagsFragment에 데이터 바인딩 적용
- #5 - GitHub에 소스 올리기
- #4 - 하단 내비게이션의 탭 관련 클래스 이름 수정
- #3 - 하단 내비게이션 바의 아이콘, 텍스트 수정
- #2 - 프로젝트 생성
- #1 - 시작하며...
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.