相关疑难解决方法(0)

吸气剂和二传手设计不佳吗?看到矛盾的建议

我目前正在开发一个简单的Java游戏,有几种不同的模式.我扩展了一个主要的Game类,将主要逻辑放在其他类中.尽管如此,主要的游戏类仍然非常沉重.

在快速浏览一下我的代码后,其中大部分是Getters and Setters(60%),而其余部分则是游戏逻辑真正需要的.

一些谷歌搜索声称Getters和Setters是邪恶的,而其他人声称他们是良好的OO练习和伟大的程序所必需的.

所以我该怎么做?应该是哪个?我应该为我的私人变量更改我的Getters和Setter,还是应该坚持使用它们?

java oop getter setter accessor

224
推荐指数
10
解决办法
7万
查看次数

为什么我不应该使用不可变的POJO而不是JavaBeans?

我现在已经实现了一些Java应用程序,到目前为止只有桌面应用程序.我更喜欢使用不可变对象在应用程序中传递数据,而不是使用带有mutator(setter 和getter)的对象,也称为JavaBeans.

但是在Java世界中,使用JavaBeans似乎更常见,我无法理解为什么我应该使用它们.就个人而言,如果代码只处理不可变对象而不是一直改变状态,那么代码看起来会更好.

第15项中还建议使用不可变对象:最小化可变性,有效Java 2ed.

如果我有一个Person实现为JavaBean的对象,它看起来像:

public class Person {
    private String name;
    private Place birthPlace;

    public Person() {}

    public setName(String name) {
        this.name = name;
    }

    public setBirthPlace(Place birthPlace) {
        this.birthPlace = birthPlace;
    }

    public String getName() {
        return name;
    }

    public Place getBirthPlace() {
        return birthPlace;
    }
}
Run Code Online (Sandbox Code Playgroud)

并且Person实现为不可变对象:

public class Person {
    private final String name;
    private final Place birthPlace;

    public Person(String name, …
Run Code Online (Sandbox Code Playgroud)

java immutability pojo javabeans

78
推荐指数
4
解决办法
1万
查看次数

我应该使用POJO还是JSONObject进行REST调用

最近,我偶然发现了我的新团队大量使用JsonObject进行剩余数据交换的情况。他们的观点是在使用pojo时,我们与其余服务紧密绑定,而jsonObject提供了自由。同样,它避免了不必要的数据序列化,同时大大减少了类数。

我有几点要面对他们:

  1. Pojo给数据赋予了更多含义,我们正在使用正确的数据类型保存数据。
  2. 如果我们只需要json的10个字段中的2个字段,则可以使用 @JsonIgnore

我不知道反序列化的确切成本,但是我不知何故应该没有太大的区别。

有人可以帮助我了解应采取的观点吗?

请提供使用POJO和JSONObject的利弊。

谢谢

java serialization json jackson

7
推荐指数
3
解决办法
897
查看次数

在java中,为什么将setter和getter都设置为public是不好的?

请考虑以下Java代码:

public class SomeClass{  
    private int data;  
    public void setData(int data){  
        this.data = data;  
    }  
    public int getData(){  
        return this.data;  
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,可以从任何地方访问数据的值.那么为什么不公开现场数据呢?

java

1
推荐指数
1
解决办法
212
查看次数

标签 统计

java ×4

accessor ×1

getter ×1

immutability ×1

jackson ×1

javabeans ×1

json ×1

oop ×1

pojo ×1

serialization ×1

setter ×1