달력

3

« 2024/3 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
728x90
반응형

안드로이드 - 슬라이딩 퍼즐 소스


기존의 소스와 비교해보시면 많이 달라진 것이 보일 겁니다.
예전에는 원고 마감에 쫓기고 다른 프로젝트에 쫓겨서 잘 못된 부분도 있고,
제 방식대로 코딩하면 익숙하지 않은 분들에게 혼선이 생길 까봐 일부러 그런 부분도 있습니다.

시스템을 4단계로 나눠서 개발하는 방식을 취하고 있습니다.
(저는 언제나 이런 스타일로 개발하니까요)

인터페이스 계층에서 나타나는 최상의 객체인 Borad, ShuffleButton 의 참조는
원래 소스와 같이 Main에서 처리할 수도 있지만,
이것은 초보자가 읽기 쉬울 수 있겠으나, 참조할 때마다 Main을 거치거나,
Main에서 코딩하게 되는 문제가 발생합니다.
교재가 바로 Main에서 코딩하고 있고, 초보자들이 대부분 이런 방식을 사용합니다.

델파이처럼 전역변수로 참조를 사용할 수도 있습니다.
그리고, 마지막으로 저처럼 싱글톤 또는 유사한 방식으로 처리할 수가 있습니다.
어느 쪽이 좋다라고 하기는 좀 어려울 수 있겠으나, 저는 싱글톤을 좋아합니다.

Main에 쓸 때없이 널려져 있던 소스가 각자 원래 있어야 할 곳으로 옮겨졌고,
참조 또한 간편하게 정리가 되었습니다.

너무 분업을 심하게 한 탓에 설계되었던 Blocks와 BlockControl을 제거 하였고,
인터페이스에 맞춰서 개발하는 방식에 대한 설명을 하려고 만들었던 인터페이스를 제거하였습니다.
좋은 예가 아니었던 것 같습니다.

그리고 읽는 방법을 모르실 수 있겠지만,
3단계에 해당하는 인터페이스 계층에 대한 간단한 Job Flow 도 첨부합니다.

728x90
반응형
:
Posted by mapagilove