2011-01-24 25 views
6

Necesito crear una clase que construya un archivo de configuración XML basado en otros objetos.Pregunta de diseño orientado a objetos

Hay 3 objetos diferentes. El algoritmo de construcción es muy similar para todos los objetos, pero no igual.

Estaba pensando en usar una clase base con un método abstracto y luego simplemente crear una clase derivada en la que anularía el método abstracto.

Pero el problema es que los 3 objetos no tienen una interfaz común o clase base. Esos objetos son componentes de terceros. No puedo refactorizarlos. Entonces no hay ningún contrato común para todos los objetos.

¿Hay alguna solución conveniente para esta situación? Tal vez algún patrón de diseño que no conozco?

+1

son los tipos soportados en su código probable que cambie? Es decir, ¿la solución debe ser fácilmente escalable para admitir otros tipos de terceros? Si no, simplemente use una clase base para llevar a cabo trabajos comunes y clases derivadas para manejar cualquier información específica. –

Respuesta

1

puedes crear tus 3 clases personalizadas y ampliarlas respectivamente [No estoy seguro de C#], e implementar un contrato común.

3

se puede definir una clase abstracta XMLSerializable y luego usar el Adapter pattern de adaptar estos componentes de terceros en XMLSerializable objetos

Cuestiones relacionadas