Tag: pattern


Fluent Interface

November 17th, 2009 — 10:52pm

ist ein weiteres Pattern, das mir in der letzten Zeit immer häufiger über den Weg gelaufen ist. Ansich ist es gar keine schlechte Sache. Was genau ein solches Fluent Interface ist, zeigt das folgende Codebeispiel:
Interface:

interface FluentPerson {
	FluentPerson setAddress(Address address);
	Address getAddress();
	FluentPerson setFirstName(String firstName);
	String getFirstName();
	FluentPerson setLastName(String lastName);
	String getLastName();
}

Class

class PersonImpl implements FluentPerson {
	private Address address;
	private String firstName;
	private String lastName;
 
	public FluentPerson setAddress(Address address) {
		this.address = address;
		return this;
	}
 
	public Address getAddress() {
		return this.address;
	}
 
	public FluentPerson setFirstName(String firstName) {
		this.firstName = firstName;
                return this;
	}
 
	public String getFirstName() {
		return this.firstName;
	}
 
	public FluentPerson setLastName(String lastName) {
		this.lastName = lastName;
                return this;
	}
 
	public String getLastName() {
		return this.lastName;
	}
}

Diese “fast”-Bean-Klasse unterscheidet sich eben darin, dass die Setter der Klasse einen Rückgabewert auf sich selbst hat. Das erlaubt beim Setzen der Adresse ein direktes Zugreifen auf die weiteren Klassenattribute der Person-Klasse. Das FluentInterface erlaubt eine sogenannte MethodChain um die Klassenattribute “fießend” zu setzen.

Comment » | Computer, Java

Einmal Kaffee bitte,

February 13th, 2009 — 9:07am

ist der Titel des heute geposteten Artikel auf phphatesme. Viele werden das Template Method Pattern bestimmt schon kennen, aber hier kann es nochmal in einem “praktischen” Beispiel nachgelesen werden.

Comment » | Computer, PHP

Back to top