老师布置作业,包含3种设计模式的程序的java小程序,任何程序都可以,只要有设计模式就可以 5

我的:465802190... 我的:465802190 展开
 我来答
米多多MiDD
2014-10-21 · TA获得超过1077个赞
知道小有建树答主
回答量:562
采纳率:66%
帮助的人:231万
展开全部
1.代理模式
代理方式的包含JDK代理和CGLIB代理:JDK只能代理接口,无法代理类。CGLIB都可以代理,且首次代理类或接口会生成代理类的字节码,并尽可能的重复使用该字节码,因而效率更高。

传统java代理的实现:

代理的实现包含:静态代理和动态代理两种形式。

静态代理:

一个接口
一个实现类
一个代理类实现接口:将接口构造注入为私有属性
方法主函数:通过实现类对象做参数初始化代理类,用接口对象接收。并调用代理类中重写的接口方法,间接调用实现类总的重写方法。

此方法得本质:IOC,多态。
缺点:代理类与接口耦合度过高,实用性不大
代码实现参考JAVA基础专题的代理笔记。

动态代理:

一个接口
一个是实现类
一个代理类实现了InvocationHandler
自定义了如下方法:用于实现通过实现类获得接口的引用
private Object implClass ;
public Object bind(Object implClass) {

this.implClass = implClass;
return Proxy.newProxyInstance(implClass.getClass().getClassLoader(),
implClass.getClass().getInterfaces(), this);

}

面向切面的代理:

一个普通类
一个切面类MessageDecorator implements MethodInterceptor
一个主函数类:
//目标
MessageWriter target = new MessageWriter();

//create the proxy

ProxyFactory proxyFactory = new ProxyFactory();
MessageDecorator decorator= new MessageDecorator();
try{
proxyFactory.addAdvice(decorator);
} catch(Exception a){
a.printStackTrace();
}
proxyFactory.setTarget(target);

//获取返回被代理的目标
MessageWriter proxy = (MessageWriter) proxyFactory.getProxy();
proxy.setSs( "熊大");
target.writeMessage();
System. out.println("---" );
proxy.writeMessage();

2.单例模式
public class Single{

private static final Single single = new Single();

private Single(){};

public synchronized static Single getInstance(){

return this.single;

}

}
3.
追问
求现成的小程序啊
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机课程设计是针对《单片机原理及应用技术》课程的一项重要的动手实践活动。该课程设计的目标是让学生通过实际项目的开发,掌握单片机的开发技能,提高解决实际问题的能力,并且加深对单片机原理及应用技术的理解。课程设计的内容包括项目概述、项目要求、... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式