自己常用的设计模式

/**
 *入口
 * @author lilili
 */
public class TestService {
	
	public static void main(String[] args) throws Exception {
		//appleService kc =new appleService();//苹果类实例
		BanananService kc =new BanananService();//香蕉类实例
		AbsPublicClass abs= kc;
		System.out.println(	abs.base());
		
	}
}
/**
 * 主抽象接口serveic类
 *
 */
public abstract class AbsPublicClass {
	   // @Autowired 公共的依赖注入
	  //  protected PublicAutowired publicAutowired;
	
	//公共的常量
	  protected static final String HAHA= "HAHA";
	 //公共的方法
	  public abstract String base() throws Exception;
}
/**
 * 子抽象接口实现类
 *真正的处理
 */
public abstract class AbsHandle extends AbsPublicClass {

	public abstract String  eat() ;
	
	@Override
	public String base() throws Exception {
		System.out.println(ni());//根据不同的实例去调用不同的逻辑处理
		System.out.println(HAHA);//公共的常量 
		//公共的处理方法
		return "base";
	}
	public  String  ni(){
	
		return eat();
	}
	
}
/**
 * 单独的处理各自的业务逻辑
 *
 */
public class AppleService extends AbsHandle {

	@Override
	public  String eat() {
		// TODO Auto-generated method stub
		return "传递进来的是苹果实例";
	}
	
}
/**
 * 单独的处理各自的业务逻辑
 */
public class BanananService extends AbsHandle {

	@Override
	public String eat() {
		// TODO Auto-generated method stub
		return "传递进来是香蕉实例";
	}

}



猜你喜欢

转载自blog.csdn.net/merrylilili/article/details/79672143