Pregunta

Básicamente me pregunto acerca de tener este comportamiento en una aplicación donde las versiones más recientes requieren que el contenido creado con la versión anterior de ser (de forma automática) convertido al formato versión más reciente, a costa de la compatibilidad hacia atrás.

Visual Studio hace esto para sus archivos .sln.

¿Hay ventajas / desventajas de esta práctica?

Creo que en el contexto de la aplicación que estoy escribiendo (3d creación de contenidos), estaba pensando de encontrar potencialmente diferentes maneras de crear cosas en el tiempo (más rápido, mejor, más eficiente), que sólo podría ser posible implementar si el archivos de contenido de más edad se convierten en la nueva forma de crear lo mismo de una manera similar aparente.

Así, por ejemplo, tal vez v1 tenía una clase Shape donde en v2 se dio cuenta de que podría hacer esto de manera más genérica y más rápido mediante el uso de una clase PolySpline. Sin embargo, con el fin de tener la edad Shapes ser PolySplines usted convertir los viejos archivos de contenido y todo estaría compatibile con la nueva versión.

¿Es esta una idea razonable?

¿Fue útil?

Solución

Un factor que no he visto mencionado es si todo el mundo casi que comparte los datos es probable que se utilicen la misma versión de la aplicación. Puede ser muy molesto, por ejemplo, si un algo así como un programa de edición de partituras musicales guarda en un formato que se puede leer por versiones anteriores, ya que las personas que deseen partituras de cambio pueden no muy bien estar ejecutando la misma versión de software. Por otro lado, si una base de datos sólo se puede acceder por los usuarios dentro de una pequeña tienda, en plan de sólo hacer una actualización simultánea de todos y hacerse con él.

Otros consejos

A menos que tenga una gran base de instalación y actualización de las políticas draconianas / costes (como Microsoft con su oficina), que no debería tener problemas con los usuarios necesidad de nuevos archivos de la versión abierta de la versión anterior del software. En otras palabras, la gente con frecuencia de actualización, pero rara vez rebaja .

Una cosa que se puede prever y considerar ahora es crear (a) algún jugador libre para que los usuarios que tienen nuevo archivo de formato y versión antigua de software de ver este nuevo archivo (y tal vez decidir actualizar) y (b) módulo convertidor que convertirá al nuevo formato mayor, posiblemente dejando caer algunas características / elementos no compatibles.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top