Sto creando il design per un programma di fusione tra i segnalibri del browser e mi sono imbattuto in un problema di progettazione che ho visto prima, ma non ho mai trovato una buona soluzione per questo. Quindi diciamo che ho una classe Browser:
Browser:
String bookmarkFilePath
String type
Bool bookmarkFileExists()
Quando viene eseguito il mio programma, desidero avere valori codificati dei browser comuni e le posizioni del loro file dei segnalibri:
Object with hard-coded values:
"~/Library/Application Support/Google/Default/Bookmarks", "Chrome"
"~/Library/Safari/Bookmarks.plist", "Safari"
Esiste un modello di progettazione o un tipo di oggetto che potrebbe effettivamente occupare un oggetto con valori hard-coded (nome del browser / percorso file segnalibri) e utilizzarlo per creare istanze (e possibilmente gestire) altri oggetti (Browser)?
Inoltre, la flessibilità è importante poiché ci sono casi limite come il percorso dei file di Firefox per il file dei segnalibri che è sempre diverso e alcune ricerche devono essere fatte.
EDIT: lo implementerò in Python. Ci scusiamo per non averlo menzionato prima .