Spesso finisco con metodi con un numero elevato di argomenti (fino a 5 argomenti). per ex -
public void doSomething(obj1, obj2, obj3, obj4, obj5)
da obj1 a obj5 non sono correlati tra loro
Ho pensato di creare un oggetto più grande obj
contenente obj1
a obj5
quindi passare solo obj
oggetto che è -
public void doSomething(obj)
Ma obj
è solo un oggetto conveniente qui e non deve avere obj1
a obj5
come variabili membro.
Va bene usare un oggetto così conveniente o c'è qualche altro approccio che posso sfruttare?
Aggiornamenti
Per rispondere a SRP, il metodo doSomething
chiama alcuni altri metodi che sono responsabili del loro funzionamento. Quindi doSomething
ha l'aspetto di -
public void doSomething(obj1, obj2, obj3, obj4, obj5) {
doSomethin1(obj1)
.doSomethin2(obj2)
.doSomethin3(obj3)
.doSomethin4(obj4)
.doSomethin5(obj5)
}
Stavo concatenando e chiamando questi metodi singolarmente nei test, ma a me sembra una ripetizione del codice e ho deciso di creare un metodo invece che prende tutti gli argomenti richiesti. Ma con questo approccio ero perplesso di dover passare agli argomenti al metodo doSomething