JAVA 정적 프록시 모드
프록시 모드(프록시): 이 객체에 대한 액세스를 제어하기 위해 다른 객체에 대한 프록시를 제공합니다.
직접 말하면 프록시 패턴은 "실제 객체"를 대표합니다. 객체에 액세스할 때 어느 정도의 간접 참조를 도입합니다. 왜냐하면 이러한 간접 참조는 다양한 용도로 사용될 수 있기 때문입니다.
코드를 구현하기 전에 간단한 생활 이야기를 하나 말씀드리겠습니다. 우리 주변에는 LianJia처럼 주택을 판매하거나 임대하는 회사가 많이 있다는 것을 알고 있지만 LianJia 자체에는 실제 주택용 주택이 없습니다. 자산, 그가 판매하고 임대하는 주택은 회사의 주택 요구를 실현하기 위해 부동산 소유자(HomeMaster)가 제공해야 하며 동시에 회사의 주택 판매 및 임대 사업에는 회사 직원(판매자)이 필요하지만 직원은 이행해야 함 이 방법은 회사의 승인을 받아야 하며 회사의 비즈니스 자원을 사용하여 작업을 완료해야 합니다. 이야기의 이 시점에서 우리는 판매자가 실제로 에이전시 모드의 정적 에이전트라는 것을 알아야 합니다. 따라서 이 모드에 대한 코드 작성을 시작합니다(에이전트 구현 방법 전후의 비즈니스 로직은 여기에서 생략됩니다). 🎜>
interface LianJia{//LianJia提供房屋买卖的渠道方法(公司业务) public void sellHouse(); } class HomeMaster implements LianJia{//房主需要通过链家卖房(实现公司的业务渠道) public void sellHouse(){ System.out.println("我有套房子要卖"); } } class Seller implements LianJia{//链家的业务需要Seller实现 private LianJia lj;//声明链家公司(可理解为必须证明该seller是链家的),方便调用方法 public Seller(LianJia lj){ this.lj = lj; } public void sellHouse(){ lj.sellHouse();//实际实现方式需要调用公司的业务渠道方法 } } public class ProxyMode{ public static void main(String[] args){ HomeMaster hm = new HomeMaster(); Seller s = new Seller(hm);//代理代房主实现卖房需求 s.sellHouse(); } }