当前位置: 首页 > news >正文

网站框架结构图有什么推广软件

网站框架结构图,有什么推广软件,旅游网站毕业设计和论文,网上做展板素材的网站一、定义: 使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系将这些对象连城一条链,并沿着这条链传递该请求,只到有对象处理它为止。 二、模式结构: 抽象处理者(Handler&#xff…

一、定义:

        使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系将这些对象连城一条链,并沿着这条链传递该请求,只到有对象处理它为止。

二、模式结构:

        抽象处理者(Handler):定义处理请求的接口,包含处理方法和设置下一个处理者的引用。

        具体处理者(ConcreteHandler):实现抽象接口,决定是否处理请求或传递给链的下一个对象。

三、应用场景:

        1.事件处理:view的层级事件分发。

        2.网络拦截链:OkHttp请求的拦截器机制。

        3.权限校验:多级权限检查。

四、代码例子:

        1.定义抽象处理者

public abstract class LoggerHandler {
    protected LoggerHandler nextHandler;

    // 设置下一个处理器
    public void setNextHandler(LoggerHandler nextHandler) {
        this.nextHandler = nextHandler;
    }

    // 处理日志请求
    public abstract void handleLog(String message, int level);
}
        2.实现具体处理者

// INFO 级别日志处理器
public class InfoLogger extends LoggerHandler {
    @Override
    public void handleLog(String message, int level) {
        if (level <= LogLevel.INFO) {
            System.out.println("INFO: " + message); // 模拟处理逻辑
        } else if (nextHandler != null) {
            nextHandler.handleLog(message, level); // 传递给下一级
        }
    }
}

// DEBUG 级别日志处理器
public class DebugLogger extends LoggerHandler {
    @Override
    public void handleLog(String message, int level) {
        if (level <= LogLevel.DEBUG) {
            System.out.println("DEBUG: " + message);
        } else if (nextHandler != null) {
            nextHandler.handleLog(message, level);
        }
    }
}

// ERROR 级别日志处理器
public class ErrorLogger extends LoggerHandler {
    @Override
    public void handleLog(String message, int level) {
        if (level <= LogLevel.ERROR) {
            System.out.println("ERROR: " + message);
        } // 无需传递(链的末端)
    }
}

// 日志级别常量
class LogLevel {
    public static final int INFO = 1;
    public static final int DEBUG = 2;
    public static final int ERROR = 3;
}

        3.构建处理链

public class LoggerChain {
    public static LoggerHandler buildChain() {
        // 创建处理器实例
        LoggerHandler infoLogger = new InfoLogger();
        LoggerHandler debugLogger = new DebugLogger();
        LoggerHandler errorLogger = new ErrorLogger();

        // 设置链式关系
        infoLogger.setNextHandler(debugLogger);
        debugLogger.setNextHandler(errorLogger);

        return infoLogger; // 返回链的起点
    }
}
        4.使用责任链

public class Main {
    public static void main(String[] args) {
        LoggerHandler chain = LoggerChain.buildChain();

        // 测试日志处理
        chain.handleLog("App started", LogLevel.INFO);    // INFO: App started
        chain.handleLog("Network error", LogLevel.ERROR); // ERROR: Network error
        chain.handleLog("Debug data", LogLevel.DEBUG);    // DEBUG: Debug data
    }
}


五、优缺点:

优点:

        1.解耦请求发送者与处理者。

        2.动态调整处理顺序。

        3.符合单一职责原则。

缺点:

        1.请求可能未被处理。

        2.调试困难,需要跟踪链传递过程。

        3.性能损耗,长链影响效率。

http://www.cadmedia.cn/news/3386.html

相关文章:

  • 城阳网站建设站长工具高清吗
  • 网址收录入口宁波seo排名优化
  • 哪里购买网站广告位企业软文怎么写
  • 罗定微网站建设最新新闻热点事件及评论
  • 学院网站建设的目的及定位福州百度关键词排名
  • 12380网站建设情况总结免费b2b网站有哪些
  • 牛皮纸东莞网站建设技术支持企业推广网
  • 在线设计平台网站网络营销的定义
  • 企业年金怎么提取seo综合查询接口
  • 高职专业建设管理网站网络seo是什么意思
  • 律师网站建设培训班免费建一级域名网站
  • 做网站最快的编程语言seo服务商技术好的公司
  • 建设一个用教育网站成都seo服务
  • 零基础jsp网站开发东莞推广公司
  • 深圳市龙华区住房和建设局网站百度关键词首页排名
  • 网站建设投标人资质seosem是什么职位
  • 徐州html5响应式网站建设seo站外优化最主要的是什么
  • 可以在线制作简历的网站活动软文模板
  • 汕头网站制作哪家强今日足球赛事推荐
  • 网页设计报告心得seo优化报价公司
  • 18+网站推广自建站平台
  • 网站制作长沙软文发布平台媒体
  • 动态网站开发知识腾讯新闻潍坊疫情
  • 电子商务网站建设读书报告广州:推动优化防控措施落
  • 广告交流群宁海关键词优化怎么优化
  • 常州做企业网站的公司公司网站的作用
  • 郑州公司网站建设郑州网站推广公司电话
  • 杭州模板建站临沂头条新闻今日头条
  • 全网网站建设优化seo检测优化
  • 建设培训网站办安全员c证北京突发重大消息