Sono proprietario di alcuni Prodotti, dove ho clienti diversi che usano quel prodotto, e gli attributi di quel prodotto alterano l'esperienza che i miei clienti hanno sulla mia pagina.
Per un esempio, diciamo che i client hanno una chiave chiamata "product1" e che produrrebbe un oggetto "Prodotto" con valori
Product:
{
"id": product1,
"someCrazyTechincalAttribute": 12.50,
"someOtherCrazyTechnicalAttribute: 100
}
Quindi abbiamo un'interfaccia utente Web che consentirà ai clienti di modificare il loro prodotto. Tuttavia, non vogliamo esporre i nostri clienti a tutti questi attributi perché non avrebbero alcun senso per loro. Inoltre, una combinazione di attributi tecnici può culminare in un'esperienza utente singola. Ad esempio, se un cliente desiderava che il suo prodotto avesse un colore rosso, entrambi questi attributi tecnici pazzi dovrebbero essere interessati. Vogliamo nascondere l'astrazione tecnica dei nostri clienti non esponendo i dettagli tecnici del nostro prodotto.
So che potremmo avere regole statiche nell'interfaccia utente che potrebbero fare la mappatura per noi. Tuttavia, non pensiamo che l'aggiunta di regole statiche consentirebbe ai proprietari di prodotti un tempo facile per aggiungere attributi.
Esiste un buon metodo di ingegneria del software per affrontare un problema come questo? Qualsiasi aiuto sarebbe molto apprezzato!