Android 개발에서 ORM을 사용하는 것이 합리적입니까?


27

Android 개발에서 ORM을 사용하는 것이 합리적입니까? 아니면 UI와 DB 계층 간의 긴밀한 연결을 위해 프레임 워크가 최적화 되었습니까?


배경 : 방금 Android 개발을 시작했으며 첫 번째 본능 (.net 배경에서 제공)은 작은 객체 관계형 매퍼 및 상용구 클로드를 줄이는 데 도움이되는 기타 도구 (예 : POJOs + OrmLite + Lombok )를 찾는 것이 었습니다 .

그러나 첫 번째 장난감 응용 프로그램을 개발하는 동안 명시 적으로 데이터베이스 커서가 필요한 UI 클래스를 발견했습니다 AlphabetIndexer. 안드로이드 라이브러리가 UI와 DB 레이어의 엄격한 분리에 적합하지 않은지 궁금해하고 직접 데이터베이스 액세스 대신 POJO를 사용하려고하면 많은 유용한 시간 절약 기능을 놓칠 것입니다. ).


설명 : 나는 일반적으로 ORM을 사용할 때의 이점을 잘 알고 있습니다. 특히 Android 클래스 라이브러리가 얼마나 잘 작동하는지에 관심이 있습니다.

답변:


20

안드로이드는 다른 프레임 워크와 잘 어울리지 않습니다. 권장되는 개발 스타일은 다른 라이브러리없이 API에서 모든 것을 빌드한다고 가정합니다. UI 레이어는 모델과 매우 밀접하게 연결되어 있습니다. 이 스타일은 복잡한 응용 프로그램이 아닌 작은 모듈 식 응용 프로그램을 작성하는 데 이상적입니다.

당신은 당신이 안드로이드의 기능을 원하는지에 대해 약간의 생각을 줘야한다. 필요하지 않으면 ORM을 사용하여 잃을 것이 없습니다. 그렇지 않은 경우 하이브리드를 정산해야 할 수도 있습니다. 당신이 할 수있는 모든 것에 ORM을 사용하십시오 Cursor. 선택한 ORM에 DAO가 필요한 경우 (내가 언급 한 것에 익숙하지 않음)이 레이어가 가장 적합한 장소 일 것입니다.

또는 외부 ORM을 전혀 사용하지 않아도됩니다. 요구 사항이 간단하다면이를 충족시키는 간단한 데이터 액세스 계층을 작성할 수 있습니다. 대부분의 앱 데이터베이스 요구 사항은 좋지 않습니다. 몇 개의 테이블 만있는 경우 몇 개의 액세스 클래스와 모델 객체를 작성하고 양호하게 호출하십시오.

YAGNI와 KISS는 여기서 성공의 키워드입니다. 며칠 동안 프로토 타이핑을하는 것이 좋습니다. 간단한 테스트 앱을 버리는 것을 두려워하지 마십시오. 모든 아이디어를 혼자서 시도한 다음 프로젝트에서 일부 또는 전부가 효과가 있는지 결정하십시오.


6

데이터 모델로 수행하는 작업에 따라 다릅니다. 객체 지향 모델을 조작하는 기존 코드가 있고 해당 객체를 sqlite 데이터베이스에 유지하려면 orm이 필요합니다.

새로운 Android 코드를 처음부터 작성하는 경우 CAD 프로그램과 같이 앱이 실제로 복잡한 OO 조작을 수행하지 않으면 메모리 내 데이터 모델을 피할 수 있습니다. 그러나 대부분의 프로그램의 경우 데이터 모델을 데이터베이스에 유지하고 커서, 어댑터 및보기 개체 체인이 많은 작업을 수행하도록합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.