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

dw网站制作怎么做滑动的图片国内小型电商平台有哪些

dw网站制作怎么做滑动的图片,国内小型电商平台有哪些,网站建设企业战略,建设京东物流网站的目标是什么1. 适配器模式介绍 1.1 适配器模式介绍 适配器模式#xff08;adapter pattern#xff09;的原始定义是#xff1a;将一个类的接口转换为客户期望的另一个接口#xff0c;适配器可以让不兼容的两个类一起协同工作。 适配器模式的主要作用是把原本不兼容的接口#xff0c…1. 适配器模式介绍 1.1 适配器模式介绍 适配器模式adapter pattern的原始定义是将一个类的接口转换为客户期望的另一个接口适配器可以让不兼容的两个类一起协同工作。 适配器模式的主要作用是把原本不兼容的接口通过适配修改做到统一使得用户方便使用。比如万能充电器和多接口数据线都是为了适配各种不同的接口。 为什么要转换接口 原接口和目标接口都已经存在不易修改接口代码。抽象接口希望复用已有组件的逻辑。 1.2 适配器模式结构 适配器模式Adapter包含以下主要角色 目标Target接口当前系统业务所期待的接口它可以是抽象类或接口。适配者Adaptee类被适配的角色它是被访问和适配的现存组件库中的组件接口。适配器Adapter类一个转换器通过继承或引用适配者的对象把适配者接口转换成目标接口让客户按目标接口的格式访问适配者。 适配器模式分为 类适配器 对象适配器 两者的区别在于适配器与适配者的关系。类适配器是继承关系对象适配器是聚合关系。根据设计原则聚合优先于继承应多选用对象适配器。 1.3 代码示例 // 目标接口 public interface Target {void request(); }// 适配者类 public class Adaptee {public void specificRequest() {System.out.println(适配者中的业务代码被调用);} }// 类适配器 public class ClassAdapter extends Adaptee implements Target {Overridepublic void request() {this.specificRequest();} }// 对象适配器 public class ObjectAdapter implements Target {private Adaptee adaptee;public ObjectAdapter(Adaptee adaptee) {this.adaptee adaptee;}Overridepublic void request() {this.adaptee.specificRequest();} }// 测试代码 public class Client {public static void main(String[] args) {Target classAdapter new ClassAdapter();classAdapter.request();Target objectAdapter new ObjectAdapter(new Adaptee());objectAdapter.request();} }2. 适配器模式在实际开发中的应用 2.1 需求描述 为了提升系统的速度将一些数据以 K-V 形式缓存在内存中平台提供 get、put、remove 等 API 以及相关的管理机制。 功能实现的迭代过程从 HashMap 到 Memcached 再到 Redis要确保后面再增加新的缓存组件时能够实现自由的切换并且还要符合开闭原则。 设计问题 如何在符合开闭原则前提下实现功能的扩展两种客户端 API 不相同如何保证自由切换 使用适配器模式。 2.2 功能实现 使用适配器模式将功能相似的多种第三方组件实现方案统一成自己需要的 API业务代码只依赖已经统一的 API而不依赖第三方 API。 (1) 定义一个缓存接口包含 get、put、remove 等操作方法。例如 public interface Cache {void put(String key, Object value);Object get(String key);void remove(String key); }(2) 实现该接口的三个适配器分别对应 HashMap、Memcached、Redis 三种缓存方案。例如 // HashMap 适配器 public class HashMapCacheAdapter implements Cache {private MapString, Object cache new HashMap();Overridepublic void put(String key, Object value) {cache.put(key, value);}Overridepublic Object get(String key) {return cache.get(key);}Overridepublic void remove(String key) {cache.remove(key);} }// Memcached 适配器 public class MemcachedCacheAdapter implements Cache {private MemcachedClient memcachedClient;public MemcachedCacheAdapter(MemcachedClient memcachedClient) {this.memcachedClient memcachedClient;}Overridepublic void put(String key, Object value) {memcachedClient.set(key, 0, value);}Overridepublic Object get(String key) {return memcachedClient.get(key);}Overridepublic void remove(String key) {memcachedClient.delete(key);} }// Redis 适配器 public class RedisCacheAdapter implements Cache {private Jedis jedis;public RedisCacheAdapter(Jedis jedis) {this.jedis jedis;}Overridepublic void put(String key, Object value) {jedis.set(key, value.toString());}Overridepublic Object get(String key) {return jedis.get(key);}Overridepublic void remove(String key) {jedis.del(key);} }(3) 创建工厂类根据配置文件中的配置来创建相应的缓存适配器。例如 public class CacheAdapterFactory {public static Cache createCacheAdapter(String type) {if (HashMap.equals(type)) {return new HashMapCacheAdapter();} else if (Memcached.equals(type)) {MemCachedClient memCachedClient new MemCachedClient();return new MemcachedCacheAdapter(memCachedClient);} else if (Redis.equals(type)) {Jedis jedis new Jedis(localhost, 6379);return new RedisCacheAdapter(jedis);} else {throw new IllegalArgumentException(Invalid cache type: type);}} }使用时只需要调用工厂类的 createCacheAdapter 方法传入缓存类型即可获取相应的缓存适配器。例如 public class Client {public static void main(String[] args) {Cache cache CacheAdapterFactory.createCacheAdapter(Redis);cache.put(key, value);Object result cache.get(key);cache.remove(key);} }3. 适配器模式总结 优点 解耦合: 适配器模式允许两个没有直接关联的类协同工作降低了它们之间的耦合度。提高复用性: 通过适配器可以重用现有的类而不需要修改它们的代码。统一接口: 适配器模式提供了一种方法来统一多个不同的接口使得它们可以被统一对待。隐藏实现: 适配器模式隐藏了现有类的实现细节只暴露出需要的接口。灵活性: 可以根据需要自由地适配不同的类提供了高度的灵活性。 缺点 单一适配限制: 使用类适配器时一次最多只能适配一个适配者类这可能限制了其应用范围。系统复杂度: 如果过度使用适配器可能会导致系统结构变得复杂难以理解和维护。 适用场景 接口统一: 当需要统一多个类的接口时适配器模式可以有效地将它们适配到一个统一的接口。兼容性需求: 当现有的接口无法修改但需要与其他系统或模块兼容时适配器模式可以提供解决方案。
http://www.tj-hxxt.cn/news/140079.html

相关文章:

  • 垂直电子商务网站建设宜昌建设厅网站
  • 赤峰网站建设合肥工程建设云平台
  • 网站开发的风险与风险管理部门网站建设管理经验交流材料
  • .net程序员网站开发工程师公司的网站建设规划书
  • 怎么网站怎么建设框架宝安最好的网站建设
  • 滕州网站建设网站行吗张家港网站建设模板
  • 广安发展建设集团门户网站大家推荐永久免费的服务器
  • 章丘公司做网站网站页面设计制作费
  • 医院网站推广渠道公司电商网站开发
  • 中国工程建设焊接协会网站wordpress 产品相册插件
  • 可以做请柬的网站好玩的网页游戏排名
  • cms网站搭建好了再怎么做大连软件都有哪些公司
  • 网站建设用图片佛山网站建设格式有哪些
  • 北京企业网站制作哪家好郑州企业网站制作怎么做
  • 广东省建设八大员网站addthis wordpress
  • 网页联系我们怎么做seo 网站推广入门
  • 房子竣工验收在哪个网站查海外cdn
  • 网站页面怎样做1920手机app的开发与维护费用
  • 网站重新设计跨境电商的特点
  • 有哪些档案网站中苏园林建设集团网站
  • 青岛网站建设方案公司wordpress 问卷调查
  • 营销型企业网站建设价格一个网站推广
  • 重庆建设网站公司简介创办一个网站能挣钱吗
  • 做番号类网站违法吗设计公司网站首页显示
  • 河南做网站哪个平台好网站进度条特效
  • 上海网站制作机构中企动力做的网站怎么登陆
  • 品牌建设评价企业网站优化面向什么工作
  • 专业网站制作推广服务公司邮箱手机怎么登录
  • 友汇网站建设管理后台微信官方网站 - 百度-百度
  • 旺道seo怎么优化网站搜索网站怎么做的