Fluent Interface
Fluent Interface was coined by Martin Fowler and Eric Evans.This makes code easy to read and is implemented by method chaining.
Example: consider a Person classPerson.java
package com.sandhya;
public class Person {
private String name;
private int age;
private double salary;
public Person(String name, int age, double salary)
{
this.name = name;
this.age = age;
this.salary = salary;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return this.name;
}
public void setAge(int age)
{
this.age = age;
}
public int getAge()
{
return this.age;
}
public void setSalary(double salary)
{
this.salary = salary;
}
public double getSalary()
{
return this.salary;
}
}
package com.sandhya;
public class PersonBuilder {
private String name;
private int age;
private double salary;
public PersonBuilder()
{
}
public PersonBuilder setName(String name)
{
this.name = name;
return this;
}
public PersonBuilder setAge(int age)
{
this.age = age;
return this;
}
public PersonBuilder setSalary(double salary)
{
this.salary = salary;
return this;
}
public Person toPerson()
{
Person p = new Person(name,age,salary);
return p;
}
}
PersonBuilder builder = new PersonBuilder()
.setName("Sidharth")
.setAge(10)
.setSalary(20000);
package com.sandhya;
public class Main {
public static void main(String[] args)
{
PersonBuilder builder = new PersonBuilder()
.setName("Sidharth")
.setAge(10)
.setSalary(20000);
Person p = builder.toPerson();
System.out.println("Name:"+p.getName() +
" Age:"+p.getAge()+
" Salary:"+p.getSalary());
}
}
Comments
Post a Comment