• Java静态代理解析


    java 静态代理的主要特征就是,代理类和委托类要实现同样的接口。在调用接口方法的时候,对外提供一个实例工厂对象。

    静态代理类优缺点 

    代理类和委托类具有相同的接口,但是委托类才是直正的接口实现者,代理类只是 调用 委托类的相关方法来提供特定的服务,
    优点:业务类只需要关注业务逻辑本身,保证了业务类的重用性。这是代理的共有优点。 
    缺点: 
    1)代理对象的一个接口只服务于一种类型的对象,如果要代理的方法很多,势必要为每一种方法都进行代理,静态代理在程序规模稍大时就无法胜任了。 
    2)如果接口增加一个方法,除了所有实现类需要实现这个方法外,所有代理类也需要实现此方法。增加了代码维护的复杂度。 

    1 /*
    2  * 代理类和委托类具有相同的接口,但是委托类才是直正的接口实现者,代理类只是 调用 委托类的相关方法来提供特定的服务,
    3  * 代理类可以为委托类预处理信息,把信息传递给委托类处理并进行事后处理。
    4  *
    5  */
    6 public interface ImplBook {
    7     public void borrow(User user);
    8     public void returnBook(User user);
    9 }
    接口
     1 public class Library implements ImplBook{
     2 
     3     @Override
     4     public void borrow(User user) {
     5         System.out.println(user.getUname()+"从图书馆借书");
     6         
     7     }
     8 
     9     @Override
    10     public void returnBook(User user) {
    11         System.out.println(user.getUname()+"还书");
    12         
    13     }
    14 
    15 }
    委托类
     1 public class LibraryManager implements ImplBook{
     2     private Library library = new Library();
     3     @Override
     4     public void borrow(User user) {
     5         System.out.println("图书管理员同意借书前……"+user.getUname()+"登记");
     6         library.borrow(user);
     7         System.out.println("图书管理员同意借书后……"+user.getUname()+"离开");
     8     }
     9     @Override
    10     public void returnBook(User user) {
    11         System.out.println(user.getUname()+"还书前登记 ");
    12         library.returnBook(user);
    13         System.out.println(user.getUname()+"还书后离开");
    14     }
    代理类
     1 public class Client {
     2     public static void main(String[] args) {
     3         User user = new User();
     4         user.setUname("xiaoMing");
     5         user.setId("I08002726");
     6         
     7         LibraryManager libraryManager = new LibraryManager();
     8         libraryManager.borrow(user);
     9         libraryManager.returnBook(user);
    10     }
    11 }
    测试类
     
  • 相关阅读:
    jsp文件编码
    web-inf与meta-inf
    JSP基础语法
    JSP第一章动态网页的基础
    HTML5表单及其验证
    jQuery表单校验
    jquery操作DOM
    jQuery中的事件与动画 笔记整理
    JQuery制作简易的考试答题管理系统
    [POI2008]Sta(树形dp)
  • 原文地址:https://www.cnblogs.com/shuanlei/p/4253543.html
Copyright © 2020-2023  润新知