Guest User

Untitled

a guest
Oct 21st, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.80 KB | None | 0 0
  1. Java:
  2.  
  3. Класс билдера:
  4. public class RecipeBuilder
  5. {
  6.    List<Ingredient> _ingredients;
  7.  
  8.    public void addIngredient(String name, Integer quantity)
  9.    {
  10.       Ingredient i = new Ingredient(name, quantity);
  11.  
  12.       _ingrediends.add(i);
  13.    }
  14. }
  15.  
  16. Используем билдер:
  17.  
  18. public class Omelette
  19. {
  20.    public Recipe build()
  21.    {
  22.       RecipeBuilder builder = new RecipeBuilder();
  23.  
  24.       builder.addIngredient("Eggs", 3);
  25.       builder.addIngredient("Bacon", 1);
  26.    }
  27. }
  28.  
  29.  
  30. Если бы в Java был classEval/instanceEval, как в Руби - то можно было бы написать так (псевдокод):
  31.  
  32. omelette = new Lambda() {
  33.   addIngredient("Eggs", 3);
  34.   addIngredient("Bacon", 1);
  35. }
  36. builder = new RecipeBuilder();
  37. builder.instanceEval(omelette);
Add Comment
Please, Sign In to add comment