Паттерн: Заместитель (Proxy)
Исходник: Client.java, язык: java [code #482, hits: 6897]
автор: this [добавлен: 09.09.2007]
  1. package proxy;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. public class Client {
  7.  
  8. public static void main(String[] args) {
  9. Client client = new Client();
  10. List<ProductI> delivery = client.GetProducts();
  11. System.out.println(delivery);
  12. }
  13.  
  14. public List<ProductI> GetProducts() {
  15. List<ProductI> prodList = new ArrayList<ProductI>(3);
  16. ProductI product = null;
  17.  
  18. product = new Product(30600, "Spanish Scooters, BARS Incorporated(C)", true);
  19. prodList.add(new ProductProxy(product));
  20.  
  21. product = new Product(20000, "Ford Focus, Ford Corp.", false);
  22. prodList.add(new ProductProxy(product));
  23.  
  24. product = new Product(25000, "Italian Furniture, Italica Company", true);
  25. prodList.add(new ProductProxy(product));
  26.  
  27. return prodList;
  28. }
  29.  
  30. }
Прозрачно использует заместителя и приспособленца, добавляя дополнительную информации при выводе списка продуктов.
(ProductI, Product, ProductProxy)
Тестировалось на: java 1.5.0_04

+добавить реализацию