2011-07-07 37 views
8

Có cách nào trong Eclipse để tạo lớp proxy (như trong mẫu proxy, không phải cuộc gọi từ xa) không? Một cái gì đó dọc theo dòng nàyTạo lớp proxy java trong Eclipse

public class FooBar{ 
    public int getBiz(){ 
     return 1234; 
    } 
} 

tạo

public class FooBarProxy{ 
    protected FooBar foobar; 
    public FooBarProxy(FooBar f) {...} 
    public int getBiz(){ 
     return foobar.getBiz() 
    } 
} 

Trả lời

14

Tự tạo lớp proxy và thêm biến thể hiện FooBar. Chọn biến, nhấp chuột phải -> nguồn -> tạo phương thức ủy nhiệm

+0

Điều này cực kỳ hữu ích khi tạo trang trí để thay đổi hành vi của một phương pháp cụ thể. – fiffy

2

Tại sao không sử dụng java được xây dựng trong proxy năng động. Nó tạo ra một proxy trong thời gian chạy:

  1. thực hiện logic proxy của bạn bằng cách thực hiện java.lang.reflect.InvocationHandler
  2. tạo một proxy năng động; xem http://download.oracle.com/javase/6/docs/api/java/lang/reflect/Proxy.html (ví dụ bao gồm)
+0

Thật thú vị, nhưng có vẻ khác biệt - chủ yếu cho ma thuật đánh chặn/phản chiếu .. Đối với kế hoạch mẫu proxy cũ trong Java, nó lộn xộn hơn việc gõ ra (cũng để gỡ lỗi), IMHO. BTW, các cấu trúc tương tự trông dễ chấp nhận hơn ở các ngôn ngữ khác (ví dụ: Có thể chuyển tiếp trong Ruby http://www.ruby-doc.org/stdlib-2.0/libdoc/forwardable/rdoc/Forwardable.html) – inger

Các vấn đề liên quan