2011-09-13 15 views
6

Como no quiero secuestrar otro hilo aquí, surge mi pregunta sobre las asignaciones.Dónde colocar correlaciones de objetos (en RestKIt)

Primera lectura: Where's the best place to put object mappings in RestKit

Estoy seguro de que la respuesta Blake Aguas dio voluntad probable ser muy correcta ya que es un tipo mucho más inteligente y con más experiencia que yo, pero para mí la lógica me dice que poner el mapeo en cada modelo: si cambias algo en tu modelo, estás a un desplazamiento de distancia para cambiar tus mapeos.

En mi AppDelegate, me gustaría llamar a las initMappings (o lo que sea que quiera llamar) en cada uno de mis modelos.

Respuesta

1

También soy fan de colocar las asignaciones con mis modelos. Lo hago agregando un método de clase a cada modelo para que pueda obtener el mapeo cuando y donde lo necesite.

0

He elegido la ruta para crear una categoría y ponerla allí. Sin embargo, lo he creado en mi clase de delegados de aplicaciones en lugar del proveedor de mapas.

Creo que el problema de tenerlo en los modelos es como se describe en el otro hilo, si tiene relaciones puede terminar con referencias circulares.

0

yo creo que es muy natural pensar en la forma en que lo hace, tiene sentido que usted tiene más control sobre el código y su limpiador, pero hay que tener mucho cuidado, ya que muchos han dicho, el problema con referencias circulares puede ser un gran problema.

Una solución en ese aspecto es que cuando tienes una entidad A que se refiere a B y B a A, entonces en una de las dos entidades tendrás que elegir no mapear directamente la entidad o terminarás en un ciclo .

Cuando tiene todo en el mismo ámbito, definir referencias circulares se vuelve imposible porque necesita la definición inicial de B para agregar su referencia en A, por lo que la solución que acabo de mencionar es la forma natural de hacerlo con este enfoque.

Depende de usted y de su aplicación qué enfoque desea utilizar, lo cual es mejor para usted y su equipo para adoptar. Tienes que elegir entre posibles errores vs código limpiador.

Cuestiones relacionadas