0

이것은 작동하지 않는 코드를 만들기 전에 내 사고가 올바른지 확인하려고하는 경우 더 많은 질문입니다. 제가 먼저하려고하는 것을 설명 할 수 있는지 보도록하겠습니다. 나의 주요 문제는 내가 올바른 방향으로 가고 있는지 아닌지를 알고 싶다.단일 클래스의 메서드를 사용하는 여러 활동

나는 탭 레이아웃을 가질 수 있도록 페이지 뷰어와 조각을 사용하여 게임을 만들고 있습니다. 그건 문제가되지 않습니다. 내가 혼란스럽고 돌아 서서 돌아 다니는 곳은 여러 가지 활동을하고 있는데, 각각은 게임의 다른 부분을 다루므로 한 번에 너무 많은 화면을 사용하지 않아도됩니다. 나는 모든 게임 메서드를 단일 클래스에 포함시키고 각 작업을이 클래스에서 가져오고 싶었습니다. 수업이 비공개 인 경우 수업을들을 수 있습니까? 예를 들어 GAME 클래스가 있다면 특정 버전의 인스턴스를 어딘가에 인스턴스화해야한다고 가정합니다. 그렇다면 모든 인스턴스가 같은 인스턴스에서 빠져 나오는지 어떻게 확인할 수 있습니까?

내가 생각했던 또 다른 접근 방식은 기본적으로 모든 것을 한 게임 클래스를 만든 다음 필요에 따라 변수 값을 뱉어 내 UI를 업데이트하는 것이 었습니다. 그것이 더 나은 접근 방법이 될 수 있을까요? 이 방법을 사용하면 데이터를 한 활동에서 다른 활동으로 직접 전달하지 않아도된다고 생각합니다. 나는 그들이 수업에서 직접 필요한 모든 가치를 끌어들이도록 할 수 있습니다.

이 중 어떤 것이 어딘가에 왼쪽 필드에서 나올 수 있습니까? 어떤 방향으로 차트를 만들려고 하루 동안 돌아 다니면서 도움이 될 것입니다.

답변

1

모든 게임 로직을 Game 클래스에 넣고 모든 액티비티가 해당 단일 Game 인스턴스에 액세스하는 것처럼 들리는 것 같습니다. 그 대답은 예입니다. 아마도 올바른 접근 방법이며 간단한 접근 방법을 사용하여 활동을 통해 의도를 통해 데이터를 전달할 수 있습니다.

싱글 톤 패턴을 사용하면 어디서나 동일한 인스턴스에 액세스 할 수 있습니다. (이런 식으로 뭔가)

public class Game { 
    private static final Game INSTANCE = new Game(); 

    private Game() {} 

    public static Game getInstance() { 
     return INSTANCE; 
    } 
} 

아니면 단검과 같은 의존성 주입 프레임 워크를 사용하는 경우, 당신이 싱글을 제공하는 등 게임 제공 업체를 표시 만 할 수 있습니다. (이것이 무엇인지 모르는 경우 지금 위의 싱글 톤 패턴을 사용하십시오)

+0

예! 오 세상에 그래! 고맙습니다! 나는 다른 곳에서도 비슷한 효과를 볼 수 있었지만 같은 일을하는 것처럼 똑같은 라인을 따라 가지 않는 것처럼 보이기 때문에 동일한 접근 방식이 효과가 있을지 확실하지 않았습니다. 이것은 내가 원래하려고했던 것보다 더 좋았습니다. 당신은 나의 온건함을 구했을지도 모릅니다. 그리고 지금 나는 실제로 잠들 수있을 것입니다! – fauxfire76

+0

나는 그 대답을 깨달았 기 때문에 나의 이전 코멘트를 지웠다. – fauxfire76

관련 문제