免费制作企业网站,登录wordpress,企业邮箱登录入口263,福田区罗湖区盐田区一、代理模式
为其他对象提供一种代理控制此对象的访问
若一个对象不适合直接引用另一个对象#xff0c;
代理对象在客户端和目标对象之间起到中介作用
组成#xff1a;
抽象角色#xff1a;通过接口 抽象类 真实角色实现了哪些方法
代理角色#xff1a;实现抽象角色…一、代理模式
为其他对象提供一种代理控制此对象的访问
若一个对象不适合直接引用另一个对象
代理对象在客户端和目标对象之间起到中介作用
组成
抽象角色通过接口 抽象类 真实角色实现了哪些方法
代理角色实现抽象角色是真实角色的代理通过真实角色的业务逻辑方法来实现抽象方法
可以附加自己的操作
真实角色实现抽象角色定义业务逻辑供代理角色来调用 代理模式分类 静态代理 动态代理 JDK动态代理 cglib动态代理 静态代理 抽象角色固定 代理角色和代理的真实角色是固定。 动态代理 通过反射机制来实现的代理角色不在是固定的角色而是一个通用的工具类还可以代理很多操作 动态代理是在静态代理的基础上代理的真实角色由设置好的固定的一个变成自由的多个实现更广泛的应用。 动态代理的代理角色类Proxyutil需要实现接口InvocationHandler 二、原型模式
原型模式用于创建重复对象 保证性能 这种类型的设计属于创建创建型模式
方式是有一个原型接口
三、JDK8新特性
支持Lambda表达式是一种特殊的匿名内部类形式语法更加简洁
允许把函数作为一个方法的参数将代码像数据一样进行传递
基本语法
函数式接口 变量名 参数参数— {方法体}
注意事项
形参列表数据类型会自动推断
如果形参列表为空只需要保留
如果形参只有一个可以省略只需要参数名即可
如果执行的代码只有一句话且无返回值 { }可省略
四、函数式接口
如果一个接口只有一个抽象方法 该接口称之为函数式接口
函数式接口可以使用Lambdalambda表达式会自动匹配到这个抽象方法上
FunctionalInterface
常见的函数式接口Consumer消费型接口
Supplier供给型接口
Function函数型接口
Predicate
五、方法引用
方法应用是Lambda表达式的一种简写形式。如果lambda表达式只是调用类哦个的定的已经存在的方法、