Al trabajar con fragmentos, he estado usando una clase compuesta de métodos estáticos que definen acciones en fragmentos. Para cualquier proyecto, podría tener una clase llamada FragmentActions, que contiene métodos similares a los siguientes:
public static void showDeviceFragment(FragmentManager man){
String tag = AllDevicesFragment.getFragmentTag();
AllDevicesFragment fragment = (AllDevicesFragment)man.findFragmentByTag(tag);
if(fragment == null){
fragment = new AllDevicesFragment();
}
FragmentTransaction t = man.beginTransaction();
t.add(R.id.main_frame, fragment, tag);
t.commit();
}
Normalmente tendré un método por pantalla de aplicación. Hago algo como esto cuando trabajo con pequeñas bases de datos locales (generalmente SQLite), así que lo apliqué a fragmentos, que parecen tener un flujo de trabajo similar; Aunque no estoy casado con eso.
¿Cómo ha organizado sus aplicaciones para interactuar con la API de Fragmentos, y qué (si alguno) patrones de diseño cree que aplican hacen esto?