[JAVA] Haben Sie aufgehört, über die Verwendung von Getter / Setter im DTO-Entwurfsmuster nachzudenken?

Wenn Sie ein DTO-Entwurfsmuster in Java implementieren, fügen Sie Setter / Getter hinzu Ich frage mich, ob ich aufgehört habe zu denken.

Es sieht so aus als eine Implementierung.

class Hoge
{
    private int value;
    public int getValue(){ return value; }
    public void setValue(int value){ this.value = value; }
}

In Anbetracht des Zwecks denke ich, dass es keine Logik enthalten sollte. Dann hat die Implementierung nur Getter / Setter für das Feld. Die Kapselung funktioniert überhaupt nicht und erfrischt daher, was Sie tun möchten.

Die Implementierung, die das Feld öffentlich macht, ist also einfach. Es ist praktisch, weil es von der IDE ergänzt werden kann!

class Hoge
{
    public int value;
}

Dann ist es als nächster Faktor keine Java-Bean Sie können gesagt werden.

In Anbetracht des Zwecks von DTO sollte es jedoch nicht notwendig sein, eine Bohne zu werden. Warum willst du daraus eine Bohne machen? Wenn du denkst

Ich kann "BeanUtils.copyProperties" nicht verwenden! Kann gesagt werden. Aber ist es nicht ein Missverständnis des Zwecks und der Mittel? Ich denke. Es sollte als DTO eingerichtet worden sein.

Warum sollten Sie "BeanUtils.copyProperties" verwenden? Ich denke, es wird.

nächstes Mal Haben Sie aufgehört, über die Verwendung von BeanUtils.copyProperties nachzudenken?

Wenn Sie Meinungen oder Eindrücke haben, lassen Sie es uns bitte wissen.

Recommended Posts

Haben Sie aufgehört, über die Verwendung von Getter / Setter im DTO-Entwurfsmuster nachzudenken?
Haben Sie aufgehört, über die Verwendung von BeanUtils.copyProperties nachzudenken?
Warum brauchen Sie überhaupt Setter / Getter?
Haben Sie jemals über die Definition von "schlechtem Design" nachgedacht?