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

iis 里没有网站北京seo人员

iis 里没有网站,北京seo人员,怎么将网站设置为首页,怎么优化电脑系统图解mybatis日志模块之设计模式 概述 最近经常在思考研发工程师初、中、高级工程师以及系统架构师各个级别的工程师有什么区别#xff0c;随着年龄增加我们的技术级别也在提升#xff0c;但是很多人到了高级别反而更加忧虑#xff0c;因为it行业35岁年龄是个坎这是行业里的共…图解mybatis日志模块之设计模式 概述 最近经常在思考研发工程师初、中、高级工程师以及系统架构师各个级别的工程师有什么区别随着年龄增加我们的技术级别也在提升但是很多人到了高级别反而更加忧虑因为it行业35岁年龄是个坎这是行业里的共识我觉得只要你名副其实就没有什么焦虑的因为任何行业高端人才肯定是成金字塔型的。要做到不焦虑我们就需要知己知彼明确不同级别工程师的差异而不是成为PPT工程师到了高级工程师级别往上我们不但要具备技术的广度还有对一些技术有深度了解并且能够吸收优秀软件的设计思维形成自己的一套解决方案成为某一方面的专家。 要形成自己的一套解决方案我们需要擅长做软件设计而做好软件设计我们需要不断吸收优秀开源软件的设计思想本文将使用图解的方式详细分析mybatis日志模块之设计模式的运用。 一、单例模式 单例模式Singleton保证一个类仅有一个实例并提供一个访问它的全局访问点。结构图如下图所示 首先在日志模块我们看到如下图所示的代码很明显这里应用了单例模式。 二、简单工厂模式 简单工厂模式Simple Factory Pattern定义一个工厂类它可以根据参数的不同返回不同类的实例被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态static方法因此简单工厂模式又被称为静态工厂方法Static Factory Method模式它属于类创建型模式。结构图如下图所示 在mybatis中LogFactory就是一个工厂类会根据环境中不同日志配置来实例化日志对象如下图所示 三、适配器模式 适配器模式Adapter Pattern将一个接口转换成客户希望的另一个接口使接口不兼容的那些类可以一起工作其别名为包装器Wrapper。适配器模式既可以作为类结构型模式也可以作为对象结构型模式。结构图如下所示 mybatis为了适配各种不同日志框架的实现设计了Log接口从而实现了各种日志框架适配Log接口如下图所示 NoLogginImpl:                            无日志的实现不打印日志直接返回 Sfl4jImpl:                                    适配Sfl4j的实现 Jdk14LoggingImpl:                     适配使用Jdk Logging框架 JakartaCommonsLoggingImpl:  适配使用Apache Commons Logging Log4jImpl:                                  适配Log4j Log4j2Impl:                                适配Log4j2 StdOutImpl:                                适配直接使用System.out.println()打印日志 如下以Slf4jImpl实现为例 package org.apache.ibatis.logging.slf4j;import org.apache.ibatis.logging.Log; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.Marker; import org.slf4j.spi.LocationAwareLogger;/*** author Clinton Begin* author Eduardo Macarron* author kit* date 20200905*/ public class Slf4jImpl implements Log {private Log log;public Slf4jImpl(String clazz) {Logger logger LoggerFactory.getLogger(clazz);if (logger instanceof LocationAwareLogger) {try {// check for slf4j 1.6 method signaturelogger.getClass().getMethod(log, Marker.class, String.class, int.class, String.class, Object[].class, Throwable.class);log new Slf4jLocationAwareLoggerImpl((LocationAwareLogger) logger);return;} catch (SecurityException | NoSuchMethodException e) {// fail-back to Slf4jLoggerImpl}}// Logger is not LocationAwareLogger or slf4j version 1.6log new Slf4jLoggerImpl(logger);}Overridepublic boolean isDebugEnabled() {return log.isDebugEnabled();}Overridepublic boolean isTraceEnabled() {return log.isTraceEnabled();}Overridepublic void error(String s, Throwable e) {log.error(s, e);}Overridepublic void error(String s) {log.error(s);}Overridepublic void debug(String s) {log.debug(s);}Overridepublic void trace(String s) {log.trace(s);}Overridepublic void warn(String s) {log.warn(s);}} 可以看到在构造方法中实现了适配能力。 总结 阅读优秀开源项目开源真切体会到软件优秀的设计思想当哪天你能看懂代码设计的好坏并且在自己实际工作中对设计多一些思考那么你将不再会有焦虑因为你的能力名副其实。
http://www.w-s-a.com/news/447176/

相关文章:

  • 网站关键词密度怎么计算的中文版wordpress
  • asp网站建设教程如何在线上推广自己的产品
  • 电脑网站你懂我意思正能量济南网站建设公司熊掌号
  • 杂志社网站建设萧山区网站建设
  • 电商网站前端制作分工网站怎做百度代码统计
  • 免费的html大作业网站网站开发心得500字
  • 临时工找工作网站做美缝帮别人做非法网站
  • 深圳网站建设 设计创公司新昌网站开发
  • 唐山教育平台网站建设上海装修网官网
  • 一个公司做多个网站什么行业愿意做网站
  • 成都龙泉建设网站免费域名app官方下载
  • xss网站怎么搭建如何用wordpress站群
  • 怎样做网站外链supercell账号注册网站
  • 阿里巴巴网站是用什么技术做的哪些网站做推广比较好
  • 做网站go和python手机如何创网站
  • 网站开发进修网站做301将重定向到新域名
  • 公司网站开发费用账务处理ucenter wordpress
  • 六站合一的优势少儿编程机构
  • 软件开发与网站开发学做美食网站哪个好
  • 网站搜索 收录优化百度推广页面投放
  • 响应式网站的优点浙江省网站域名备案
  • 网站安全 扫描深圳被点名批评
  • 在哪个网站可以一对一做汉教网站优化策略
  • 龙岩做网站的顺企网宁波网站建设
  • 昆山网站建设河北连锁餐厅vi设计公司
  • 新蔡县住房和城乡建设局网站南昌租房网地宝网
  • 南宁做网站费用iis编辑网站绑定
  • 家用宽带做网站服务器建网站费用明细
  • 电商 网站 降低 跳出率 措施 效果书画院网站模板
  • 兰州移动官网网站建设上海工商网上公示系统