Estoy buscando escribir una aplicación. Piensa en e-commerce. Pero piense, un sitio de comercio electrónico impulsado por otro proveedor.¿Qué patrón de diseño sería el mejor para permitir una clase común de múltiples proveedores?
El escenario sería el siguiente: etiquetaría una fachada de un sitio de comercio electrónico que funciona con la plataforma de comercio electrónico existente de un cliente, ya sea Magento, CubeCart, Prestashop, etc.
Estas plataformas van a tener sus propias convenciones de nombres y otras cosas, y quiero una interfaz común dentro de mi aplicación. Por ejemplo:
class Product {
var $title;
var $price;
var $image;
var $description;
// and so on
}
Obviamente, diferentes proveedores pueden llamar las cosas de manera diferente. Por ejemplo, title
puede ser product_title
en un proveedor, o product_name
, o productTitle
, y así sucesivamente. Otro ejemplo: price
puede ser cost
, o unit_price
, y así sucesivamente. Esperemos que el problema se vuelva aparente.
Idealmente, quisiera señalar el mejor patrón de diseño para abstraer un servicio de las clases de negocios de mi aplicación, así puedo agregar proveedores sin tener que volver a factorizar nada en mi aplicación más adelante.
¿Qué patrón de diseño sería el mejor para el escenario anterior?
Hola, kstaruch. ¡Eso es genial, y puntos de bonificación para la ilustración! Echaré un vistazo a la integración del patrón de fábrica del adaptador; Ya estaba pensando en seguir esta ruta según mi comentario sobre la respuesta de Naved. –