Предположим, что у меня есть следующиеПередача одного объекта против передачи нескольких параметров
Class A {
Foo getFoo();
Bar getBar();
Baz getBaz();
}
И мне нужно, чтобы определить функцию, которая использует doStuff
Foo
, Bar
, Baz
из один объекта и делает некоторые вещи
Я борюсь между тем, какой метод внедрения doStuff
лучше (предположим, что было бы нежелательно размещать doStuff
внутри класса A
)
Метод А
void doStuff(Foo foo, Bar bar, Baz baz)
{
//some operation
}
или
Метод B
void doStuff(A a)
{
Foo foo = a.getFoo();
Bar bar = a.getBar();
Baz baz = a.getBaz();
//some operation
}
К моему ограниченному знанию, (+ плюсы, минусы -)
Me ThOD A
+ Понятно, что именно параметры doStuff()
работает на
-Susceptible в длинных списках параметров и более восприимчивы к ошибкам пользователя
Метод B
+ Простой, легкий в метод использования
+ Кажется более растяжимым (?)
-создает ненужную зависимость по отношению к классу A
Может кто-нибудь представить дополнительная проницательность в стороне плюсов и минусов этих двух методов?
Это, как говорится, метод B – JavaHopper