我有一个关于最佳实践的快速问题,以及 getter 和 setter 是否是特定情况下的最佳选择。这种情况是当我有类“A”实例化类“B”和“C”时。 A 类包含 B 类和 C 类访问的公共(public) getter 和 setter,因此数据是集中的。
这是最佳实践还是最好通过参数将数据传递给 B 类和 C 类?
谢谢
克里斯
最佳答案
我个人建议构建您的应用程序,以便传递 B 类和 C 类所需的所有数据。这将消除它们对 A 类的依赖,从而减少耦合和复杂性;例如:
public class A {
private var b : B;
public function A() {
b = new B();
b.someData = "some data that b requires";
}
}
然后,您可以通过称为Inversion of Control的过程从A类中删除B类的实例化来进一步改进这一点。 。这样你就可以使 B 类成为 A 类的依赖项。
public class A {
private var b : B;
public function A(b : B) {
this.b = b;
}
}
这允许外部客户端提前配置 B 实例,使您的项目结构对于以后的更改更加灵活:
public class Client {
public function Client() {
var b : B = new B();
b.someData = "The Client is now Configuring B";
var a : A = new A(b);
}
}
关于java - 父类中的 getter 和 setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6028677/