실무에 바로 적용하는 안드로이드 프로그래밍 에서 발췌했습니다.

이후로는 이 책의 모든 앱에서 프래그먼트를 사용할 것이다.
이것은 지나친 생각으로 보일 수도 있다.
물론, 이후의 모든 장에서 살펴볼 대부분의 코드 예가 프래그먼트의 사용 없이 작성될 수 있었을 것이다.
그럼으로써 사용자 인터페이스는 액티비티로부터 생성되고 관리될 수 있었을 것이며
코드의 분량도 적어질 수 있었을 것이다.
그러나 프래그먼트를 사용하는 것이 바람직하다.

프래그먼트를 사용하지 않는 간단한 앱으로 시작한 후 필요할 때(또는 필요하다면) 나중에
프래그먼트를 추가하는 것이 더 좋을 거라고 생각할 수 있을 것이다.
YAGNI라는 극한 프로그래밍 방법론에 그런 개념이 있다.
YAGNI는 "You Aren't Gonna Need It(아마 필요 없을 거야)"  원칙을 의미하며
나중에 필요할 수 있다고 생각하는 코드는 지금 작성하지 말 것을 권한다.
어째서일까? YAGNI이기 때문이다.
프래그먼트도 "YAGNI"라고 한다면 어떨까?

애석하게도 나중에 프래그먼트를 추가하는 것은 어려움의 도가니가 될 수 있다.
기존 액티비티를 UI 프래그먼트를 호스팅하는 액티비티로 변경하는 것은 어렵지 않지만,
액티비티로 관리되는 UI와 프래그먼트로 관리되는 UI가 섞여 있으면 혼란만 더울 가중시킬 수 있기 때문이다.
그럴 바에는 아예 처음부터 프래그먼트를 사용해서 코드를 작성하는 것이 훨씬 더 쉽다.
그리고 향후의 재 작업에 따른 고통과 골칫거리를 염려하지 않아도 된다.

그러므로 프래그먼트에는 다른 원칙이 필요하다.
즉 AUF, "Always Use Fragment(항상 프래그먼트를 사용하자)"이다.
프래그먼트냐, 액티비티냐 때문에 골치 아플 수 있겠지만 그럴 필요없다. AUF다!


그냥 무조건 프래그먼트를 사용하라고 하는군요.. ㅎㅎㅎ
저작권 문제가 되면 삭제하도록 하겠습니다.

profile