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

关于网站建设的案例分析装饰网站建设公司

关于网站建设的案例分析,装饰网站建设公司,菏泽市住房和建设局网站,马鞍山网站开发流程文章目录 一、适配器模式的运用1.1 介绍1.2 适配器模式结构1.3 类适配器模式1.3.1 类适配器模式类图1.3.2 代码 1.4 对象适配器模式1.4.1 对象适配器模式类图1.4.2 代码 1.5 应用场景1.6 JDK源码解析1.6.1 字节流到字符流的转换类图1.6.2 部分源码分析1.6.3 总结 一、适配器模式… 文章目录 一、适配器模式的运用1.1 介绍1.2 适配器模式结构1.3 类适配器模式1.3.1 类适配器模式类图1.3.2 代码 1.4 对象适配器模式1.4.1 对象适配器模式类图1.4.2 代码 1.5 应用场景1.6 JDK源码解析1.6.1 字节流到字符流的转换类图1.6.2 部分源码分析1.6.3 总结 一、适配器模式的运用 1.1 介绍 将一个类的接口转换成客户希望的另外一个接口使得原本由于接口不兼容而不能一起工作的那些类能一起工作。 例子手机充电器将220v转换为65v的电压读卡器笔记本电脑的充电器等其实就是使用到了适配器模式。 1.2 适配器模式结构 目标Target接口当前系统业务所期待的接口它可以是抽象类或接口。适配者Adaptee类它是被访问和适配的现存组件库中的组件接口。适配器Adapter类它是一个转换器通过继承或引用适配者的对象把适配者接口转换成目标接口让客户按目标接口的格式访问适配者。 1.3 类适配器模式 实现方式定义一个适配器类来实现当前系统的业务接口同时又继承现有组件库中已经存在的组件。 1.3.1 类适配器模式类图 现有一台电脑只能读取SD卡而要读取TF卡中的内容的话就需要使用到适配器模式。创建一个读卡器将TF卡中的内容读取出来。 1.3.2 代码 类适配器模式违背了合成复用原则。类适配器是客户类有一个接口规范的情况下可用反之不可用。 /*** 适配者类的接口*/ public interface TFCard {// 从TF卡中读取数据String readTF();// 往TF卡中写数据void writeTF(String msg); }/*** 适配者类*/ public class TFCardImpl implements TFCard {public String readTF() {String msg TFCard read msg I am TFcard;return msg;}public void writeTF(String msg) {System.out.println(TFCard write msg : msg);} }/*** 目标接口*/ public interface SDCard {// 从SD卡中读取数据String readSD();// 往SD卡中写数据void writeSD(String msg); }/*** 具体的SD卡*/ public class SDCardImpl implements SDCard {public String readSD() {String msg SDCard read msg I am SD;return msg;}public void writeSD(String msg) {System.out.println(SDCard write msg msg);} }/*** 适配器类*/ public class SDAdapterTF extends TFCardImpl implements SDCard {public String readSD() {System.out.println(adapter read tf card...);return readTF();}public void writeSD(String msg) {System.out.println(adapter write tf card...);writeTF(msg);} }/*** 电脑类读取SD卡*/ public class Computer {// 从SD卡中读取数据public String readSD(SDCard sdCard) {if(sdCard null) {throw new NullPointerException(读卡错误请检查SD卡是否插入);}return sdCard.readSD();} }/*** 客户Client*/ public class Client {public static void main(String[] args) {// 创建电脑对象Computer computer new Computer();// 未定义适配器类电脑只能读取SD卡中的数据String msg computer.readSD(new SDCardImpl());System.out.println(msg);// 定义适配器类使用该电脑读取TF卡中的数据String msg1 computer.readSD(new SDAdapterTF());System.out.println(msg1);} }// 输出结果 // SDCard read msg I am SD // adapter read tf card... // TFCard read msg I am TFcard1.4 对象适配器模式 实现方式对象适配器模式可釆用将现有组件库中已经实现的组件引入适配器类中该类同时实现当前系统的业务接口。 1.4.1 对象适配器模式类图 现有一台电脑只能读取SD卡而要读取TF卡中的内容的话就需要使用到适配器模式。创建一个读卡器将TF卡中的内容读取出来。 1.4.2 代码 适配器模式是接口适配器模式。当不希望实现一个接口中所有的方法时可以创建一个抽象类Adapter 实现所有方法。而此时我们只需要继承该抽象类即可。 /*** 适配者类的接口*/ public interface TFCard {// 从TF卡中读取数据String readTF();// 往TF卡中写数据void writeTF(String msg); }/*** 适配者类*/ public class TFCardImpl implements TFCard {public String readTF() {String msg TFCard read msg I am TFcard;return msg;}public void writeTF(String msg) {System.out.println(TFCard write msg : msg);} }/*** 目标接口*/ public interface SDCard {// 从SD卡中读取数据String readSD();// 往SD卡中写数据void writeSD(String msg); }/*** 具体的SD卡*/ public class SDCardImpl implements SDCard {public String readSD() {String msg SDCard read msg I am SD;return msg;}public void writeSD(String msg) {System.out.println(SDCard write msg msg);} }/*** 适配器类*/ public class SDAdapterTF implements SDCard {// 声明适配者类实现聚合private TFCard tfCard;// 有参构造函数public SDAdapterTF(TFCard tfCard) {this.tfCard tfCard;}public String readSD() {System.out.println(adapter read tf card...);return tfCard.readTF();}public void writeSD(String msg) {System.out.println(adapter write tf card...);tfCard.writeTF(msg);} }/*** 电脑类读取SD卡*/ public class Computer {// 从SD卡中读取数据public String readSD(SDCard sdCard) {if(sdCard null) {throw new NullPointerException(读卡错误请检查SD卡是否插入);}return sdCard.readSD();} }/*** 客户Client*/ public class Client {public static void main(String[] args) {// 创建电脑对象Computer computer new Computer();// 未定义适配器类电脑只能读取SD卡中的数据String msg computer.readSD(new SDCardImpl());System.out.println(msg);// 创建适配器类对象使用该电脑读取TF卡中的数据SDAdapterTF sdAdapterTF new SDAdapterTF(new TFCardImpl());String msg1 computer.readSD(sdAdapterTF);System.out.println(msg1);} }// 输出结果 // SDCard read msg I am SD // adapter read tf card... // TFCard read msg I am TFcard1.5 应用场景 以前开发的系统存在满足新系统功能需求的类但其接口同新系统的接口不一致。使用第三方提供的组件但组件接口定义和自己要求的接口定义不同。 1.6 JDK源码解析 Reader字符流、InputStream字节流的适配使用的是InputStreamReader。 1.6.1 字节流到字符流的转换类图 InputStreamReader是对同样实现了Reader的StreamDecoder的封装。StreamDecoder不是Java SE API中的内容是Sun JDK给出的自身实现。但我们知道他们对构造方法中的字节流类InputStream进行封装并通过该类进行了字节流和字符流之间的解码转换。 1.6.2 部分源码分析 InputStreamReader继承自java.io包中的Reader对他中的抽象的未实现的方法给出实现。sdStreamDecoder类对象在Sun的JDK实现中实际的方法实现是对sun.nio.cs.StreamDecoder类的同名方法的调用封装。 public int read() throws IOException {return sd.read(); }public int read(char cbuf[], int offset, int length) throws IOException {return sd.read(cbuf, offset, length); }1.6.3 总结 从表层来看InputStreamReader做了InputStream字节流类到Reader字符流之间的转换。而从如上Sun JDK中的实现类关系结构中可以看出是StreamDecoder的设计实现在实际上采用了适配器模式。 记录每一个学习瞬间
http://www.hkea.cn/news/14415890/

相关文章:

  • 互联网营销有哪些方式关键词优化难度查询
  • 国外专业做集装箱别墅网站自建网站三种模式
  • 网站建设与维护高职百度企业查询官网
  • 可以免费做宣传的网站张店网站制作哪家好
  • 网站下一步工作怎么做网站和浏览器不兼容
  • 做二手房怎找房源网站哪个公司网络最快
  • 四川平昌县建设局网站长沙企业名录黄页
  • 列表网做优化网站怎么样大名专业做网站
  • 如何用模版做网站刚做的网站适合做外链吗
  • 优秀网站建设模板遵义招标网
  • asp网站转wap网站展馆装修施工
  • 乐山网站建设流程在线做图片
  • 企业门户网站源码下载网上帮别人做网站
  • 招聘网站开发源代码管理咨询公司经营范围
  • 海淀网站建设本溪网站不符合个人备案性质
  • 问答类网站怎么做啊网络营销方案策划
  • 邢台本地网站公司网站免费建站怎么样
  • 做彩票网站需要什么条件东莞网站建设公司 h5
  • 推荐几个高端大气上档次网站vs2010网站开发教程
  • 网站怎么更改域名如何更换网站服务器
  • 网站丢失了怎么办男女明星直接做的视频网站
  • 山西建筑网站设计设计投放广告网站
  • 展示系统 网站模板免费下载网站建设兼职合同
  • 外贸网站每天多少ip做系统的网站好
  • 行业门户网站模板黄页88网企业名录
  • php网站容量泉州七中
  • 网站模板参考一千元做网站
  • 各大行业网站做的好的h游戏下载网站
  • 寿光建设网站网页版ps在线使用
  • 摄影网站首页设计网站建设服务费应计入什么科目