Pessoal, estou construindo uma classe utilizando a premissa de "humane interface´s". Porém, não sei qual o nome legítimo deste padrão de projeto. Acredito que seja o Builder, me confirmem, por favor!
Gostaria de uma ajuda, para avaliar meu código. Queria saber se está de acordo com o padrão e se há como melhora-lo.
O intúito do mesmo é apenas gerar um simples sql-string. Segue:
public interface SqlBuilder {
SqlBuilder select(String fields);
SqlBuilder from(String from);
SqlBuilder where(String condition);
}
public class SqlConcreteBuilder implements SqlBuilder {
private StringBuilder product = new StringBuilder();
public SqlBuilder from(String from) {
this.product.append(" FROM "+from);
return this;
}
public SqlBuilder where(String condition) {
this.product.append(" WHERE "+condition);
return this;
}
public SqlBuilder select(String fields) {
this.product.append("SELECT "+fields);
return this;
}
public static void main(String[] args) {
SqlBuilder select = new SqlConcreteBuilder()
.select("*")
.from("tabela");
System.out.println(select);
}
@Override
public String toString() {
return this.product.toString().toUpperCase();
}
}