Fluent Interface Pattern – eine einfache Möglichkeit, ausführlichen Code zu reduzieren

Es gibt Tausende von Mustern und Sie sollten einige davon kennen. Es gibt große Kurse und Bücher über Muster. In diesem Artikel werden wir über das Fluent-Schnittstellenmuster sprechen . Ist so einfach und macht den Code so viel sauberer, also konnte ich nicht widerstehen, es Ihnen nicht zu zeigen.

Sehr häufig haben wir einen Code, der solche Objekte erstellt:

public Person generatePerson() {
	Person person = new Person();
	person.setFirstName("FirstName");
	person.setLastName("LastName");
	person.setAge(15);
	person.setSex("M");
	person.setCity("City");
	person.setHairColor("Black");
	return person;
}

class Person {
  private String firstName;
  private String lastName;
  private int age;
  private String sex;
  private String city;
  private String hairColor;
public String getFirstName() {
    return firstName;
  }
public void setFirstName(String firstName) {
    this.firstName = firstName;
  }
public String getLastName() {
    return lastName;
  }
public void setLastName(String lastName) {
    this.lastName = lastName;
  }
  
  // The rest of the getters/setters are
  // using the same pattern
  // ...
}

Um nun das Muster zu implementieren, nehmen wir zwei einfache Änderungen an allen Setter-Methoden vor. Davon:

public void setHairColor(String hairColor) {
    this.hairColor = hairColor;
}

public Person setHairColor(String hairColor) {
    this.hairColor = hairColor;
    return this;
}

Machen wir das für alle Setter:

class Person {
     private String firstName;
     private String lastName;
     private int age;
     private String sex;
     private String city;
     private String hairColor;
public String getFirstName() {
	  return firstName;
     }
	
     public ServiceMappingDTO setFirstName(String firstName) {
	  this.firstName = firstName;
	  return this;
     }
	
     public String getLastName() {
	  return lastName;
     }
	
     public ServiceMappingDTO setLastName(String lastName) {
	  this.lastName = lastName;
	  return this;
     }
    
    // The rest of the getters/setters are
    // using the same pattern
    // ...
    
}

public Person generatePerson() {
	return new Person()
		.setFirstName("FirstName")
		.setLastName("LastName")
		.setAge(15)
		.setSex("M")
		.setCity("City")
		.setHairColor("Black");
}

Kurzer Tipp: Wenn Sie die Getter und Setter manuell schreiben – hören Sie damit auf! Alle modernen IDEs haben eine einfache Möglichkeit, sie zu generieren. IntelliJ hat sogar eine Option zum Generieren von „Fluent Interface“-Settern.

Bevor Sie gehen – unser erstaunlicher Clean-Code-Kurs

Wenn Ihnen dieser Artikel gefallen hat, werden Sie unseren Kurs lieben:

  • 46 Vorträge
  • 3 Stunden Inhalt
  • Arbeiten Sie an einem realen Projekt, das Ihr Wissen auf die Probe stellt
  • 27 herunterladbare Ressourcen
  • 30 Tage Geld-zurück-Garantie

Suggested posts

Informationen zu Domänennamen finden

Ein Auszug aus Small, Sharp Software Tools von Brian P. Hogan

Informationen zu Domänennamen finden

Wenn Sie eine Anfrage an facebook.com stellen, sucht Ihr Computer nach dem Domänennamen, um diesen in eine IP-Adresse zu übersetzen, damit Ihr Computer diese Verbindung herstellen kann.

Das D-Wort und das L-Wort im UI-Design. Sprachangelegenheiten. Seien Sie nicht rassistisch.

Das D-Wort und das L-Wort im UI-Design. Sprachangelegenheiten. Seien Sie nicht rassistisch.

Unsere Sprache ist ein mächtiges Werkzeug, das unsere Gedanken, Einstellungen und Handlungen formen kann. Selbst scheinbar harmlose Begriffe können schädliche Vorurteile und Stereotypen aufrechterhalten.

Related posts

Die Goodreads Reading Challenge ist giftig

Die Goodreads Reading Challenge ist giftig

Der Juckreiz in meiner Hand breitete sich aus, als ich mit dem örtlichen Buchhändler um ein weiteres Buch verhandelte. Dieses Buch würde wie die anderen, die ich kürzlich gekauft habe, seinen Thron auf meinem Stapel „To Be Read“ (TBR) finden; und trotzdem habe ich es gekauft.

Medien neu denken: McChesneys fünf Wahrheiten und die Zukunft der Kommunikation

In der heutigen hypervernetzten Welt spielen Mediensysteme eine entscheidende Rolle bei der Bildung der öffentlichen Meinung und damit bei der demokratischen Entscheidungsfindung. In seiner tiefgreifenden Analyse der politischen Ökonomie der Kommunikation stellt der Wissenschaftler Robert McChesney die herkömmliche Meinung in Frage und präsentiert die „fünf Wahrheiten“ über die Medien, wie er sie nennt.

Schaffung einer sicheren Arbeitsumgebung

Schaffung einer sicheren Arbeitsumgebung

„Er wird mich beschützen, wenn ich in Gefahr bin. Er wird mich in seinem Zelt verstecken.

Der Soloauftritt des rothaarigen Mädchens

Im Auftrag von Hayden filmt Katie sich selbst beim Masturbieren.

Der Soloauftritt des rothaarigen Mädchens

Es war nach Mitternacht, als Hayden Katie nach ihrem gemeinsamen Abend zurück in ihren Studentenwohnheim fuhr. Sie hatte morgens einen frühen Unterricht und hatte keine Kleidung mehr zum Wechseln, nachdem sie die Nacht zuvor bei ihm übernachtet hatte.