2013-07-23 2 views
0

나는 지난 몇 주 동안 퀴즈 게임에 참여한 아마추어 애호가입니다. 게임의 첫 번째 버전은 사용자 관점에서 잘 작동하지만 코드가 지저분 해져서 두 번째 버전의 게임을 처음부터 작성하고 있습니다. 또한 게임이 페이지간에 이동하는 방식을 크게 변경하여보기 뒤집기에서 단편 사용으로 전환합니다. 지금까지의 내 연구에 따르면 새로운 디자인은 모범 사례에 더 가깝다고 생각하지만 조각의 사용에 대한 논쟁이이 게임에 어떻게 적용되는지 완전히 이해하고 있는지 확신 할 수 없습니다.이 컨텍스트에서 조각 대 뷰 전환을 선호하는 인수는 무엇입니까?

디자인 # 1. 구형 디자인은 세 가지 활동 파일에 의존했습니다. 즉, 사용자가 적절한 난이도를 선택할 수있는 스플래시 페이지로 사용되는 GameActivity는 퀴즈 질문 을 ViewFlipper를 사용하여 전달하고 ScoreActivity는 사용자의 점수를보고했습니다. 또한 highestScoreAchieved가 PREFERENCES에 기록되었는지 확인하십시오.

디자인 # 2. 새로운 디자인은 단일 조각 컨테이너와 네 조각으로 된 단일 활동 파일에 의존합니다. StartFragment는 스플래시 페이지이고 QuestionFragment는 질문 페이지이고 AnswerFragment는 응답 페이지이며 ScoreFragment는 최종 게임 점수를보고합니다.

조각 기반 디자인 # 2는 모범 사례에 더 부합한다고 생각합니다. 안드로이드 프로그래밍에 관한 BIG NERD RANCH 책은 A.U.F를 설교합니다. ("Always Use Fragments (항상 사용하는 Fragment)")는 사실 이후에 파편을 추가하고 추가하는 것이 항상 더 어렵지만, 파편에도 유리하게 다른 주장이 있어야합니다.

이 기사는 StackOverflow에서 연구했으며 대부분의 예제에는 여러 가지 상황 (예 : 분할보기 및 재사용 가능한보기)이 포함되어 있습니다.

따라서 질문 : 위에서 설명한 게임 컨텍스트에서 뒤집기보기와 반대되는 조각을 선호하는 이유는 무엇입니까? 이 어리석은 작은 퀴즈 게임을위한 조각 기반 디자인에 대한 좋은 논거가 있습니까? 간단히 말해 아론

+2

조각 접근 방식의 장점 * 및 * 약점을 이끌어 내기 위해이 질문에주의 깊게 말했습니다. 신중하게 정답을 읽으면 정답이 정확하게 나온 것을 알 수 있습니다. 대답에는 의견이 없습니다. 저자는 실제로 찬반 양론에 대한 실질적인지지를 제공했다. 이는 주로 의견을 바탕으로 한 질문이 아니며, 유권자들에게 재검토를 권장합니다. –

+0

지침에 따르면 좋은 질문은 "사실, 참고 문헌 또는 특정 전문 지식을 이끌어 내야합니다." 이것은 정확하게 우리가 답안에서 보는 것입니다. 질의 응답을 다시 읽으시면 사실, 참고 자료 및 특정 전문 지식을보실 수 있습니다. –

+0

정의에 따르면, 논증은 "사실과 이유"가 특정 주장을 뒷받침하는 데 사용되는 "추론 과정"입니다. –

답변

1

, Fragment의 미니와 같은 특정 작업을 수행 할 작은 조직 단위로 앱 로직을 깰 수 Activity들입니다. 이를 통해 앱 기능을 여러 기기에 더 잘 적응할 수있는보다 집중적이고 재사용 가능한 구성 요소로 분류 할 수 있습니다.

이것은 부풀어 오르고 유지하기가 어려우며 다양한 화면 크기와 방향 (풍경/태블릿을 생각하는)으로 작업하기가 어려울 정도로 많은 것을하는 것보다 훨씬 더 좋은 대안입니다.

Fragment은 유연성과 코드 구성을 제공하므로 응용 프로그램이 발전하고 더 많은 장치 구성과 기능에 대한 지원을 추가하면 유지 관리가 쉽고 유연성이 높아집니다. 나는 in depth blog about using Fragments to support any device in any orientation이라는 글을 썼다. 그 이유는 오픈 소스 예제 프로젝트와 함께 Fragment이 추가 된 이유이다. 위에 설명 된 게임의 맥락에서 틀지 볼 반대로


조각에 찬성 인자는 무엇인가?

보기 반전은 Fragment s는 적절한 시간에로드 할 수있는 동안 만 그 중 일부는 한 번에 활성화되어있는 경우에도 Activity에 의해 사용되는 로직 및 메모리의 모든 필요합니다.

바보 같은 작은 퀴즈 게임의 조각 기반 디자인에 대한 좋은 논거가 있습니까?

Fragment은 매우 단순한 아키텍처 오버 헤드를 추가한다고 말할 수 있습니다. 그러나 귀하의 기능과 코드가 증가함에 따라 Fragment과 좋은 디자인은 많은 두통을 덜어주고 더 잘 수행 할 것입니다. 이 게임을 일반인에게 공개하려는 경우 Fragment (필요한 경우)을 사용하는 것이 좋습니다.

+0

스티븐, 설명의 유익한 설명과 파편의 유연성에 대한 글에 게시 된 블로그 링크에 감사드립니다. 매우 감사. –

+0

나는 파편이 더 낫다는 것에 동의하지만 특히 구현이 부 풀린 것을 발견했다. 특히 초보자를위한 안드로이드 스튜디오의 보일러 플레이트 코드가 특히 그렇다. –

+0

@AndrewS가 동의 한 Fragments의 개념은 Google이 실제로 구현 한 것보다 낫습니다. 그러나 "휴대 전화 전용"앱을 사용하는 경우에도 앱 구성 요소를 적절히 분해하면 앱 구성 요소를 최대한 재사용 할 수있는 올바른 방법이라고 생각합니다. –

관련 문제