Sto cercando di scrivere un'applicazione. Pensa all'e-commerce. Ma pensa, un sito di e-commerce che è alimentato da un altro provider.Quale modello di progettazione sarebbe meglio consentire una classe comune da più provider?
Lo scenario sarebbe così: avrei white label un fronte sito di e-commerce che è alimentato da piattaforma e-commerce esistente di un cliente, sia esso Magento, CubeCart, Prestashop, o così via.
Queste piattaforme hanno tutte le proprie convenzioni di denominazione e quant'altro, e voglio un'interfaccia comune all'interno della mia app. Ad esempio:
class Product {
var $title;
var $price;
var $image;
var $description;
// and so on
}
Ovviamente diversi fornitori possono chiamare le cose in modo diverso. Ad esempio, title
può essere product_title
in un provider o product_name
o productTitle
e così via. Un altro esempio: price
può essere cost
o unit_price
e così via. Speriamo che il problema diventi evidente.
Idealmente, mi piacerebbe essere indicato il miglior design pattern per astrarre un servizio dalle classi di business della mia app, così posso aggiungere provider senza dover ridimensionare nulla nella mia app.
Quale modello di progettazione sarebbe il migliore per lo scenario di cui sopra?
Ciao, kstaruch. È fantastico e punti bonus per l'illustrazione! Daremo un'occhiata all'integrazione del pattern factory dell'adattatore; Stavo già pensando di seguire questa strada come da mio commento sulla risposta di Naved. –