常用的设计模式有,单例设计模式、观察者设计模式、工厂设计模式、装饰设计模式、代理设计模式,模板设计模式等等。
单例设计模式:
class singleD {
//私有实例化对象
private singleD () {}
//创建对象
private static singleD s = new singleD();
//返回对象
public static singleD getSingeleD() {
return s;
}
}
动态代理:
其中MyInvocationHandler 实现了InvocationHandler 接口
public class MyInvocationHandler implements InvocationHandler {
private Object target;
public MyInvocationHandler ( Object target) {
this.setTarget(target);
}
@Override
publicObject invoke(Objectproxy, Methodmethod, Object[]args)throwsThrowable {
//TODO自动生成的方法存根
System.out.println("权限校验");
method.invoke(target,args);
System.out.println("日志记录");
return null;
}
public Object getTarget() {
return target;
}
publicvoidsetTarget(Object target) {
this.target=target;
}
}
模板设计模式
//模板类
abstract class Template {
publicvoidalgorithm () {
System.out.println("此处就是算法1");
realization();
System.out.println("此处就是算法2");
}
abstractpublicvoidrealization();
}
//实现类
classdemoextendsTemplate{
@Override
publicvoidrealization() {
//TODO自动生成的方法存根
System.out.println("实现的东西");
}
}