假设我有以下
Class A {
Foo getFoo();
Bar getBar();
Baz getBaz();
}
我需要定义一个函数doStuff
,它使用一个对象的Foo
, Bar
,并做一些事情Baz
我在哪种实现方法doStuff
更好之间苦苦挣扎(假设将其doStuff
放在类中是不可取的A
)
方法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
}
据我所知,(+优点,-缺点)
方法A
+清楚地知道什么参数doStuff()
在起作用
- 容易受到长参数列表的影响,更容易受到用户错误的影响
方法B
+简单易用的方法
+似乎更具可扩展性(?)
- 对类产生不必要的依赖A
任何人都可以分享关于这两种方法的优缺点的更多见解吗?