title: Java Design Patterns: Facade
body: <p>I'm trying to make a simple ordering system, and because it's an assignment it is a delimitation that I shouldn't make DB and GUI, but I need to implement at least 4 design patterns. One of my decisions was to use Facade. As far as I understand the Facade class is kind of controller and this is what i have so far:</p>
  
  <pre><code>package model;
  
  import java.util.ArrayList;
  
  public class Facade {
  ClientsList clients;
  OrdersList orders;
  ProductsList products;
  ArrayList&lt;Orders&gt; orderlist;
  public Facade() {
      clients = new ClientsList();
      orderlist=new ArrayList&lt;Orders&gt;();
      orders = new OrdersList(orderlist);
      products = new ProductsList();
  
  }
  
  public int ClientsSize() {
  
      return clients.size();
  }
  
  public int OrdersSize() {
  
      return orders.size();
  }
  
  public void addClients(Clients client) {
      clients.add(client);
  
  }
  
  public void addOrders(Orders order) {
      orders.add(order);
  }
  
  public void removeClients() {
      clients.remove();
  
  }
  
  public void removeOrders() {
      orders.remove();
  
  }
  
  public String next() {
      return orders.it();
  }
  }
  </code></pre>
  
  <p>The other classes in my model package are Orders, OrdersList, Clients, Clientslist, Products and ProductsList and in the *List classes I'm holding the infromation in ArrayList. So my question is: is this code a Facade?</p>