首页 > 其他 > 详细

设计模式

时间:2020-02-01 11:26:18      阅读:76      评论:0      收藏:0      [点我收藏+]

1.代理模式

  代理模式示意图:

  技术分享图片

 

 

  静态代理  

   代理模式的好处:

  1.     可以使真实角色的操作更加纯粹!不用去关注一些公共的业务
  2.                公共也就是交给代理角色!实现了业务的分工
  3.                公共业务发生扩展的时候,方便集中管理  

          缺点:

    •       一个真实角色就会产生一个代理角色;代码量会翻倍--开发效率减低!但是在公司中,改别人的代码是大忌!!!

  例子:

  先上使用方法------用户使用

public class Client {
    public static void main (String[] args) {
        UserServiceImpl userService =new UserServiceImpl();

        UserServiceProxy proxy = new UserServiceProxy();
        proxy.setUserServiceImpl(userService);
        proxy.add();
        proxy.delete();
        proxy.upadte();
    }
}

  一般用户接口(增删改查) 

1 public interface UserService {
2     public  void add();
3     public  void upadte();
4     public  void query();
5     public  void delete();
6 }

  实现接口方法

 1 public class UserServiceImpl implements UserService {
 2 
 3 
 4     public void add () {
 5         System.out.println("添加");
 6     }
 7 
 8     public void upadte () {
 9         System.out.println("更新");
10     }
11 
12     public void query () {
13         System.out.println("查询");
14     }
15 
16     public void delete () {
17         System.out.println("删除");
18     }
19 }

  代理类

 1 public class UserServiceProxy implements  UserService
 2 {
 3     private UserServiceImpl userServiceImpl;
 4 
 5     public void setUserServiceImpl (UserServiceImpl userServiceImpl) {
 6         this.userServiceImpl = userServiceImpl;
 7     }
 8 
 9     public void add () {
10         log();
11         userServiceImpl.add();
12     }
13 
14     public void upadte () {
15         log();
16         userServiceImpl.upadte();
17     }
18 
19     public void query () {
20         log();
21         userServiceImpl.query();
22     }
23 
24     public void delete () {
25         log();
26         userServiceImpl.delete();
27     }
28     public void log(){
29         System.out.println("新加的业务,不能改变原有代码");
30     }
31 }

 

  动态代理

设计模式

原文:https://www.cnblogs.com/blogger-Li/p/12247733.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!