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

做网站代码编辑工具凌云网最新消息

做网站代码编辑工具,凌云网最新消息,房产网站建设ppt,公司核名查询系统责任链模式#xff08;Chain of Responsibility Pattern#xff09;是一种行为设计模式#xff0c;它允许多个对象都有机会处理请求#xff0c;从而避免请求的发送者和接收者之间的耦合。这种模式将这些对象连成一条链#xff0c;并沿着这条链传递请求#xff0c;直到有一…责任链模式Chain of Responsibility Pattern是一种行为设计模式它允许多个对象都有机会处理请求从而避免请求的发送者和接收者之间的耦合。这种模式将这些对象连成一条链并沿着这条链传递请求直到有一个对象处理它为止。 在 Android 开发中责任链模式非常有用尤其是在处理事件传递、拦截器等方面。下面我们详细讲解它的概念以及如何在 Android 中使用责任链模式。 责任链模式的概念 责任链模式主要包含以下几个角色 Handler处理者定义一个处理请求的接口并实现该接口。ConcreteHandler具体处理者具体的处理者实现处理请求的逻辑。如果不能处理则将请求传递给下一个处理者。Client客户端客户端创建具体的处理者对象并组装成一条链最终将请求传递给链的起始处理者。 Android 中的使用示例 以下是一个简单的责任链模式示例在这个示例中我们创建一个日志处理系统不同级别的日志处理器信息、警告、错误将组成一个责任链按顺序处理日志请求。 步骤1定义处理者接口 public abstract class Logger {public static int INFO 1;public static int DEBUG 2;public static int ERROR 3;protected int level;// 责任链中的下一个元素protected Logger nextLogger;public void setNextLogger(Logger nextLogger) {this.nextLogger nextLogger;}public void logMessage(int level, String message) {if (this.level level) {write(message);}if (nextLogger ! null) {nextLogger.logMessage(level, message);}}protected abstract void write(String message); }步骤2创建具体的处理者 public class InfoLogger extends Logger {public InfoLogger(int level) {this.level level;}Overrideprotected void write(String message) {System.out.println(INFO: message);} }public class DebugLogger extends Logger {public DebugLogger(int level) {this.level level;}Overrideprotected void write(String message) {System.out.println(DEBUG: message);} }public class ErrorLogger extends Logger {public ErrorLogger(int level) {this.level level;}Overrideprotected void write(String message) {System.out.println(ERROR: message);} }步骤3创建责任链 public class ChainPatternDemo {private static Logger getChainOfLoggers() {Logger errorLogger new ErrorLogger(Logger.ERROR);Logger debugLogger new DebugLogger(Logger.DEBUG);Logger infoLogger new InfoLogger(Logger.INFO);infoLogger.setNextLogger(debugLogger);debugLogger.setNextLogger(errorLogger);return infoLogger;}public static void main(String[] args) {Logger loggerChain getChainOfLoggers();loggerChain.logMessage(Logger.INFO, This is an information.);loggerChain.logMessage(Logger.DEBUG, This is a debug level information.);loggerChain.logMessage(Logger.ERROR, This is an error information.);} }在 Android 中的实际应用 在 Android 中责任链模式可以用于处理许多情况例如 事件传递View 的触摸事件传递onTouchEvent、dispatchTouchEvent 和 onInterceptTouchEvent。请求拦截网络请求拦截器链如 OkHttp 的 Interceptor。日志处理不同级别的日志记录处理。 示例自定义事件分发 在 Android 中我们可以使用责任链模式来自定义视图的事件分发机制 public class CustomViewGroup extends ViewGroup {Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {// 自定义事件分发逻辑boolean handled super.dispatchTouchEvent(ev);if (!handled) {// 责任链模式传递给子视图for (int i 0; i getChildCount(); i) {View child getChildAt(i);if (child.dispatchTouchEvent(ev)) {return true;}}}return handled;}Overridepublic boolean onInterceptTouchEvent(MotionEvent ev) {// 自定义事件拦截逻辑return super.onInterceptTouchEvent(ev);}Overridepublic boolean onTouchEvent(MotionEvent event) {// 自定义事件处理逻辑return super.onTouchEvent(event);}// 必须实现的 ViewGroup 抽象方法Overrideprotected void onLayout(boolean changed, int l, int t, int r, int b) {// 布局子视图} }总结 责任链模式通过将处理者链成一条链使得请求在处理者之间传递直到有一个处理者处理该请求。这种模式在 Android 开发中非常有用特别是在处理事件传递、拦截器等场景。通过合理使用责任链模式可以使代码更加模块化和可维护。
http://www.hkea.cn/news/14303202/

相关文章:

  • 网站建设 国鸿宁波市镇海建设交通局网站
  • 视频网站怎么搭建seo查询工具
  • 微网站开发入门推荐网站建设品牌
  • 平台推广网站排名开发做网站公司
  • 做网站策划书文档廊坊做网站公司
  • 下载模板后怎么建设网站南沙网站建设价格
  • 做影视网站怎么赚钱正规游戏代理加盟
  • 做网站一般几个人百度地图怎么看上次导航的路线
  • 网站模板整站湘潭网站建设磐石网络上班时间
  • 深圳做外贸网站运动鞋建设网站前的市场分析
  • 网站的栏目和板块设计wordpress html插件
  • 字体样式 网站鞍山网站建设优化
  • 腾讯云建设网站wordpress页眉文件名
  • 长沙网站运营外包公司上高县建设局网站
  • 自己建网站卖东西成都城乡建设局官方网站
  • 河北seo网站优化公司wordpress 网站死机
  • 开发网站的过程皖icp合肥网站建设
  • 南京旭光建设监理网站首页缙云 网站建设
  • 可以建网站的网络公司有哪些韩国网站域名
  • 蚌埠专业制作网站的公司神马网站快速排名案例
  • 廊坊百度网站推广广东建设信息网粤建通
  • 苏中建设 网站南京建设银行网站首页
  • 哪些网站可以做电脑画画赚钱做淘客网站多少钱
  • 做服装广告素材网站怎么做蒙文网站
  • wordpress中文标签404seo网站编辑是做什么的
  • 网站建设公司主营业务做网站特别简单的软件
  • 淄博 网站推广哪里有做网络推广的
  • 网站备案和不备案有什么区别富阳网站建设怎样
  • 技术支持 东莞网站建设东莞天助wordpress模特主题
  • wordpress网站全过程天山网官网