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

搭建网站架构是什么意思定制微信小程序

搭建网站架构是什么意思,定制微信小程序,建设网站最好的,淘宝做促销的网站有时您正在编写的库可能具有可选的依赖项。 例如“如果apache http客户端在类路径上#xff0c;请使用它#xff1b;否则#xff0c;请使用它。 否则–退回到HttpURLConnection”。 为什么要这么做#xff1f; 由于各种原因–在分发库时#xff0c;您可能不想强加较大的依… 有时您正在编写的库可能具有可选的依赖项。 例如“如果apache http客户端在类路径上请使用它否则请使用它。 否则–退回到HttpURLConnection”。 为什么要这么做 由于各种原因–在分发库时您可能不想强加较大的依赖范围。 另一方面更高级的库可能会带来性能上的好处因此任何需要这些的人都可以包括它。 或者您可能希望允许轻松插入某些功能的实现例如json序列化。 您的库不在乎是Jacksongson还是本机android json序列化–因此您可以使用所有这些库提供实现然后选择找到依赖项的实现。 实现此目的的一种方法是显式指定/传递要使用的库。 当库/框架的用户实例化其主类时他们可以传递boolean useApacheClienttrue或枚举值JsonSerializer.JACKSON 。 这不是一个坏选择因为它迫使用户了解他们正在使用的依赖项并且是事实上的依赖项注入 spring等使用的另一个选项是动态检查类路径上是否存在依赖项。 例如 private static final boolean apacheClientPresent isApacheHttpClientPresent(); private static boolean isApacheHttpClientPresent() {try {Class.forName(org.apache.http.client.HttpClient);logger.info(Apache HTTP detected, using it for HTTP communication.);return true;} catch (ClassNotFoundException ex) {logger.info(Apache HTTP client not found, using HttpURLConnection.);return false;} } 然后每当您需要发出HTTP请求时其中ApacheHttpClient和HttpURLConnectionClient是您自己的HttpClient接口的自定义实现 HttpClient client null; if (apacheClientPresent) {client new ApacheHttpClient(); } else {client new HttpURLConnectionClient(); } 请注意使用“ isXPresent”布尔值保护所有可能尝试从依赖项加载类的代码非常重要。 否则类加载异常可能会发生。 例如在Spring他们将Jackson依赖项包装在MappingJackson2HttpMessageConverter if (jackson2Present) {this.messageConverters.add(new MappingJackson2HttpMessageConverter()); } 这样如果Jackson不存在则不会实例化该类也根本不会尝试加载Jackson类。 究竟是偏爱自动检测还是需要显式配置要使用的基本依赖项这是一个难题。 因为自动检测可能会使您的库用户不了解该机制并且当他们添加用于其他目的的依赖项时它可能会被您的库选择并且行为可能会更改尽管应该这样做但始终存在微小的差异 。 您当然应该记录下来甚至记录消息如上所述但这可能不足以避免不愉快的意外情况。 因此我无法回答何时使用哪种方法应视具体情况决定。 这种方法也适用于内部依赖项–您的核心模块可能会寻找一个更具体的模块来使用它否则会回退到默认值。 例如您使用System.nano()提供了“经过时间”的默认实现但是使用Android时您最好依靠SystemClock –因此您可能希望检测是否存在经过时间的android实现。 这看起来像逻辑耦合因此在这种情况下最好还是使用显式方法。 总的来说这是使用可选依赖项的一种很好的技术它具有基本的后备功能。 或没有回退的许多可能选项之一。 很高兴知道您可以做到并将其包含在问题的可能解决方案的“工具包”中。 但是您不应该总是在显式依赖注入选项上使用它。 翻译自: https://www.javacodegeeks.com/2015/06/optional-dependencies.html
http://www.pierceye.com/news/735592/

相关文章:

  • 网站开通申请wordpress图片分享
  • 提高网站性能网站建设中源代码
  • 海珠营销型网站建设公司山东城建建设职业学院教务网站
  • 怎样用虚拟主机建网站温州购物网络商城网站设计制作
  • 站外seo推广游戏模板 wordpress
  • 做翻译网站 知乎怎么制作网站主题
  • 照片书那个网站做的好重庆网站建设价格费用
  • 网站两侧广告石家庄建设
  • 网站设计的企业网站建设教程txt
  • 大型建站公司seo查询5118
  • 百度站长提交工具中小企业建站模板
  • 企业网站西安seo服务
  • 做网站需要多少个人网站logo设计
  • 新浪云 建设网站中企动力双语网站
  • 网站建设中心网站开发前端工程师
  • 网站目录结构设计应注意的问题课程平台网站建设报价
  • 南京网站排名优化费用做网站大作业的心得体会
  • 网站 三合一高端的响应式网站建设公司
  • 网站设计公司天津网站备案不关站
  • 怎样增加网站会员量微信商城怎么进入
  • 网站建设目的功能行业门户网站源码
  • 建设网站收费标准100m做电影网站
  • 怎么样自己做最简单的网站wordpress酷黑主题
  • 长沙市建设网站网站修改域名
  • 邢台企业做网站价格如何做网络推广运营
  • 番禺网站建设服务百度广告推广价格
  • 什么系统做网站最安全网络科技网站设计
  • 通州网站建设是什么查看网站开发商
  • 建设网站公司浩森宇特怎么推广公司网站
  • 来宾住房和城乡建设网站变装第三性wordpress