No, no debería enviar el XML al constructor porque usted está acoplando el modelo con la lógica deserilizante. Debería crear una clase que maneje la deserlización para usted y devolver una instancia. Por qué esto es importante podría no estar claro. Pero imagine que en el futuro puede tener los datos procedentes de una base de datos, no quiere pasar la conexión de la base de datos al constructor, ¿verdad? En su lugar, puede crear una clase diferente que use bases de datos para generar una instancia de su clase.
Éstos son algunos buena lectura: (¿o tienen los emisores públicos)
http://en.wikipedia.org/wiki/Builder_pattern
http://en.wikipedia.org/wiki/Immutable_object
Pero Si creo una clase deserializer, la mayoría de mis atributos de clase debe convertirse en público. Gracias. – poiuytrez
Debería tratar de hacer que se oponga a objetos inmutables para un mejor diseño. Si tiene una gran lista de campos, entonces considere usar un patrón de generador. finalmente, si puede empaquetar cosas, tal vez piense en usar campos protegidos para que pueda configurarlos directamente. –
¡Gracias! Creo que el patrón Builder es perfecto para mí. – poiuytrez