2011-09-08 5 views
5

내 응용 프로그램에 대한 아키텍처 디자인을 만들어야합니다.안드로이드 응용 프로그램의 아키텍처 디자인을 디자인해야합니다.

응용 프로그램 세부 정보 : 내 응용 프로그램에서 나는 서버에서 가져온 일부 데이터를 보여줍니다. 기본적으로 앱을 시작하면 카테고리 목록이 표시되고 카테고리를 클릭하면 애플리케이션은 REST를 사용하여 웹 서비스를 호출하고 JSON 응답을받습니다. 응답을 받으면 JSON 데이터가 분석되어 객체의 Arraylist를 만들고 마지막으로 어댑터가이 데이터를 목록보기에 표시합니다. 내가 생각 한

패키지 구조 :

com.app.activities: 응용 프로그램에 필요한 모든 활동을 포함한다.

com.app.customviews: 응용 프로그램에 사용자 정의보기가 필요합니다.

com.app.adapters: 목록 및 그리드보기의 다른 유형을 작성하기위한 다른 목록/격자 어댑터.

com.app.parsers:에는 서버에서 수신 한 JSON 응답을 구문 분석하기위한 모든 구문 분석기 클래스가 들어 있습니다. 이러한 클래스는 기본적으로 목록 및 그리드 뷰를 생성하기 위해 어댑터 클래스에서 사용되는 활동에 arraylist를 반환합니다.

com.app.utils:이 요청에 대한 서버의 응답을 얻는 InputStream로부터 문자열을 얻기위한 함수와 같은 애플리케이션에서 통해 사용되는 기능들을 포함

com.app.model: 포함 등 로깅 특정 URL로부터 이미지를 다운로드 다양한 사용자 정의 데이터 유형에 대한 모든 모델 클래스

앱 워크 플로우 : 특정 카테고리를 선택하면, activityutils의 응답을 얻고 Model 유형의 ArrayList를 얻을 parsers로 보낼 수 있습니다. 이제이 arraylist는 adapters으로 전달되어 activity의 목록/격자를 표시하는 데 마지막으로 사용되는 어댑터 객체를 반환합니다.

이제 응용 프로그램 아키텍처에 따라, 귀하의 코드는 다음과 같은 세 가지 층으로 구분해야합니다

  1. 프리젠 테이션 레이어
  2. 비즈니스 계층

지금 내가 알 필요가 데이터 레이어 , 내 응용 프로그램에 따라 어떤 부분이 어떤 레이어에 속하는지.

제발, 나는 이것에 관해 완전히 우둔합니다.

감사합니다.

업데이트 : 내가이 링크 우연히 인터넷 검색을하는 동안 :

http://apparchguide.codeplex.com/wikipage?title=Chapter%2019%20-%20Mobile%20Applications

그것은 말한다, 응용 프로그램이 일부 워크 플로우를해야한다, 비즈니스 구성 요소, 기관 등

그래서 현재 활동의 대부분을 수행하고 있기 때문에 현재 패키지 구조가 올바르지 않다고 생각합니다.

그래서 지금 내 질문은 :이 아키텍처를 따르는 경우 패키지 구조가 무엇인지 또는 어떻게 코드베이스를 설정해야합니까?

답변

0

앱이 프리젠 테이션 전용입니까? 데이터를 변경하지 않고 표시 만하기 때문에 비즈니스 계층은 서버에 구현됩니다. 나를 위해 모델은 데이터 레이어에 있으며 나머지는 모두 프리젠 테이션입니다.

0

사용자의 UI는 프리젠 테이션 레이어라고 할 수 있습니다. 비즈니스 계층에서는 REST 및 JSON 웹 서비스로 작업을 수행합니다. 그리고 데이터 계층은 서버에 상주합니다. 그래서 기본적으로 서버 (데이터)에서 결과 (정보)를 얻기 위해 일부 서비스 (비즈니스)를 사용하여 listview (프레젠테이션)를 표시합니다.

관련 문제