Ho due file:
file1: contiene il valore della variabile.
file2: contiene una raccolta di passaggi (sottoinsieme di raccolta di file1) da seguire. Il passo contiene il set di istruzioni.
- > file1.txt
x1 = 34
x2 = 33
x3 = 90
...
x12 = 101
x14 = 233
..
x41 = 901
...
-> file2.txt
step 1
- x1
- x10
- x11
step 2
- x12
- x14
- x41
..
step n
..
design 1:
Creo la classe chiamata storeFile1
e storeFile2
in pratica per memorizzare ciò che è sempre nel file1 e nel file2.
Ho anche creato il rispettivo parser per ciascuno di essi parseFile1 e parseFile2 che
popola storeFile1
e storeFil2
. Quindi inserisco storeFile1
in storeFile2
.
Quindi quando l'utente chiede il passo 1 e le sue istruzioni restituisco un paio di:
storeFile2 obj;
... // filled by parsing class first
obj.get_step("step1");
1) nome del passo (ad esempio, passaggio 2)
2) set di istruzioni (es .: {101, 233, 901})
Mi stavo chiedendo se fare questo è sbagliato perché infrango il principio di responsabilità singola.
design 2:
Quello che pensavo non avrebbe infranto il principio di responsabilità singola era quello di creare un'altra classe caled class converter
che gestisce la conversione.
class storefile2
restituisce
1) name of step (eg step 2)
2) set of instruction (eg: {x12,x14, x41})
class converter
contiene la classe storeFile1
e la classe storeFile2
, esegue la conversione
e ritorno
1) name of step (eg step 2)
2) set of instruction (eg: {101, 233, 901}) // after conversion
Quale dei due design ritieni sia buono? (Penso anche che il design 2 sia un po 'macchinoso) o che ci sia un design migliore di questo?