静态代理03

静态代理模式

实现静态代理模式,类似Thread类

package com.cnblo.www.staticproxy;


/*
 * 静态代理模式总结:
 * 真实对象和代理对象都要实现同一个接口
 * 代理对象要代理真实角色
 * 
 * 优点;
 *  //// 代理对象可以做很多真实对象做不了的事情
 * *////  真实对象专注做自己的事情。
public class StaProxy {
	public static void main(String xargs[]){
			
	/*
	 * 	Mr m=new Mr();
		m.happyMary();
		*/
		WindCompany wc=new WindCompany(new Mr());
		wc.happyMary();
		
		/*
		 * new Thread( new Runnable(){
			@Override
			public void run() {
				// TODO Auto-generated method stub		
			}
			
		},"我爱你").start();*/
	
	//	new Thread( ()-> System.out.print("我爱你")).start();
	
	}
	
}

interface Mary{
	
	void happyMary();
}

//真实角色
class Mr implements Mary {

	@Override
	public void happyMary() {
		// TODO Auto-generated method stub
		System.out.println("Mr要结婚了,good");
	}
	
}

class Mss  {
	
}
//代理角色,帮处理结婚相关事宜
class WindCompany implements Mary{
  //代理谁--》真实角色
	private Mary target;
	
	@Override
	public void happyMary() {
		// TODO Auto-generated method stub
		this.beforMar();
		this.target.happyMary();
		this.afterMar();
	}

	public WindCompany(Mary target1) {
		super();
		this.target = target1;
	}
	
	private void beforMar(){
		System.out.println("结婚之前,婚礼布置现场");
	}
	private void afterMar(){
		System.out.println("结婚之后,收拾,收钱");
		
	}
	
}
posted @ 2025-12-30 10:47  翻滚的小井蛙  阅读(5)  评论(0)    收藏  举报