一个权限删除的功能:通过的是组合+访问者的模式

一个权限删除的功能:通过的是组合+访问者的模式

首先有个PriorityNode

{

基本权限逻辑

有个接受的访问者

 public void accept(Visitor visitor){
 visitor.visit(this);
 }

}

提供访问者接口

 public interface Visitor {
    /**
      * 访问权限树节点
      * @param node
      */
    void visit(PriorityNode node);
 
 }
 

访问者的实现类

 PriorityNodeRelateCheckVisitor
 这个类是个检查的类,检查权限是否存在,如果存在或者不能删除就返回false
 
 visit方法 ,将节点的数据查询出来,然后克隆,调用访问者
 下面就去校验权限,如果权限存在就返回fasle、
 if(relateCheck(node)){}
 //这个方法就会校验的
 relateCheck(Node){}

删除的访问者和上面的类似,把校验逻辑换成删除数据库

 

 

 

posted @ 2021-05-23 10:18  三号小玩家  阅读(95)  评论(0编辑  收藏  举报
Title
三号小玩家的 Mail: 17612457115@163.com, 联系QQ: 1359720840 微信: QQ1359720840