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

电子商务网站建设评价广告投放这个工作难不难做

电子商务网站建设评价,广告投放这个工作难不难做,长春怎么注册网站平台,好用建站模板一、适配器模式介绍 适配器模式(adapter pattern )的原始定义是:将类的接口转换为客户期望的另一个接口, 适配器可以让不兼容的两个类一起协同工作。 适配器模式是用来做适配,它将不兼容的接口转换为可兼容的接口,让原本由于接口…

一、适配器模式介绍

        适配器模式(adapter pattern )的原始定义是:将类的接口转换为客户期望的另一个接口,

        适配器可以让不兼容的两个类一起协同工作。 

        适配器模式是用来做适配,它将不兼容的接口转换为可兼容的接口,让原本由于接口

        不兼容而不能一起工作的类可以一起工作。适配器模式有两种实现方式:类适配器和

        对象适配器。其中,类适配器使用继承关系来实现,对象适配器使用组合关系来实现。

        类适配器模式的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部

        结构,所以应用相对较少些。

二、适配器模式原理

       适配器模式(Adapter)包含以下主要角色:

             1)目标(Target)接口:当前系统业务所期待的接口,它可以是抽象类或接口。

             2)适配者(Adaptee)类:适配者即被适配的角色,它是被访问和适配的现存组件库

                  中的组件接口。

            3)适配器(Adapter)类:它是一个转换器,通过继承或引用适配者的对象,把适配

                  者接口转换成目标接口,让客户按目标接口的格式访问适配者。

       类适配器类一般是继承 “适配者类(适配者的具体实现)” 并实现目标接口,而对象适配器

       器类一般是在适配器类中引用适配者类对象;适配器模式结构图如下:

       类适配器模式结构图:

              

       对象适配器模式结构图:

               

三、适配器模式应用示例

        以电脑目前只能读取SD卡的信息为例来看下适配器模式的使用
        一台电脑目前只能读取SD卡的信息,这时我们想要使用电脑读取TF卡的内容, 就需要将TF卡

        加上卡套,转换成SD卡,最后将TF卡中的内容读取出来

1、类适配器模式实现

      实现方式:

             类适配器类继承 “适配者类的具体实现(即TFCardImpl)” 并实现目标接口SDCard

      UML类图如下:

              

      具体代码实现如下:

/*** 类适配器* 以电脑目前只能读取SD卡的信息为例来看下适配器模式的使用* 一台电脑目前只能读取SD卡的信息,这时我们想要使用电脑读取TF卡的内容, 就需要将TF卡加上卡套,转换成SD卡** SD卡接口--目标(Target)接口*/
public interface SDCard {//读取SD卡方法String readSD();//写入SD卡功能void writeSD(String msg);
}/******************************************************** SD卡实现类*********************************************************/
public class SDCardImpl implements SDCard{@Overridepublic String readSD() {String msg = "sd card reading data";return msg;}@Overridepublic void writeSD(String msg) {System.out.println("sd card write data : " + msg);}
}/*** TF卡接口--适配者*/
public interface TFCard {//读取TF卡方法String readTF();//写入TF卡功能void writeTF(String msg);
}/******************************************************** TF卡实现类** *******************************************************/
public class TFCardImpl implements TFCard{@Overridepublic String readTF() {String msg = "tf card reading data";return msg;}@Overridepublic void writeTF(String msg) {System.out.println("tf card write data : " + msg);}
}/******************************************************** 定义适配器类,让SD卡兼容TF卡* 类适配器--通过继承来实现适配********************************************************/
public class SDAdapterTF extends TFCardImpl implements SDCard{@Overridepublic String readSD() {System.out.println("adapter read tf card ");return readTF();}@Overridepublic void writeSD(String msg) {System.out.println("adapter write tf card");writeTF(msg);}
}******************************************************** 电脑类,* 电脑类只能读取sd卡********************************************************/
public class Computer {public String read(SDCard sdCard){return sdCard.readSD();}
}//测试
public class Test {public static void main(String[] args) {Computer computer = new Computer();SDCard sdCard = new SDCardImpl();System.out.println(computer.read(sdCard));System.out.println("========================");SDAdapterTF adapterTF = new SDAdapterTF();System.out.println(computer.read(adapterTF));}
}

2、对象适配器模式实现

      实现方式:

             对象适配器模式可釆用将现有组件库中已经实现的组件引入适配器类中,该类同时实

             现当前系统的业务接口。

      对象适配器模式UML类图如下:

              

      代码实现:

            在类适配器模式的代码基础上我们只需要修改 “适配器类” 就可以了,具体代码如下:

            

/******************************************************** 适配器类* 对象适配器类--通过组合的方式来实现适配********************************************************/
public class SDAdapterTF2 implements SDCard {private TFCard tfCard;public SDAdapterTF2(TFCard tfCard){this.tfCard = tfCard;}@Overridepublic String readSD() {System.out.println("adapter read tf card ");return tfCard.readTF();}@Overridepublic void writeSD(String msg) {System.out.println("adapter write tf card");tfCard.writeTF(msg);}
}

四、适配器模式总结

1、适配器模式优点

      1)将目标类和适配者类解耦,通过引入一个适配器类来重用现有的适配者类,无序修改原有结构

      2)增加了类的透明性和复用性,将具体业务实现过程封装在适配者类中,对于客户端类而言

            是透明的,而且提高了适配者的复用性,同一个适配者类可以在多个不同的系统中复用。

      3)灵活性和扩展性都非常好,通过使用配置文件可以很方便的更换适配器,也可以在不修改

            原有代码的基础上增加新的适配器类,符合开闭原则。

     

2、适配器模式缺点

2.1、类适配器的缺点

      1)对于Java等不支持多重继承的语言,一次最多只能适配一个适配者类,不能同时适配

            多个适配者

      2)适配者类不能为最终类,即不能被关键字final修饰

2.2、对象适配器的缺点

      1)与类适配器模式相比较,在该模式下要在适配器中置换适配者类的某些方法比较麻烦。

3、适配器模式适用场景

      1)统一多个类的接口设计时:

            某个功能的实现依赖多个外部系统(或者说类)。通过适配器模式,将它们的接口适配为

            统一的接口定义

      2)需要依赖外部系统时:

            当我们把项目中依赖的一个外部系统替换为另一个外部系统的时候,利用适配器模式,可

            以减少对代码的改动

      3)原有接口无法修改时或者原有接口功能太老旧但又需要兼容时:

            如JDK1.0 Enumeration 到 Iterator 的替换,适用适配器模式保留 Enumeration 类,并将

           其实现替换为直接调用 Itertor

      4)适配不同数据格式时:

            如Slf4j 日志框架,定义打印日志的统一接口,提供针对不同日志框架的适配器

4、代理、桥接、装饰与适配4种设计模式的区别

      代理、桥接、装饰器、适配器,这 4 种模式是比较常用的结构型设计模式。它们的代码结构

      非常相似。但其各自的用意却不同,简单说一下它们之间的关系:

      1)代理模式:

           代理模式在不改变原始类接口的条件下,为原始类定义一个代理类,主要目的是控制访问,

           而非加强功能,这是它跟装饰器模式最大的不同。

      2)桥接模式:

            桥接模式的目的是将接口部分和实现部分分离,从而让它们可以较为容易、也相对独立地

            加以改变。

      3)装饰器模式:

           装饰者模式在不改变原始类接口的情况下,对原始类功能进行增强,并且支持多个装饰器的

           嵌套使用。

      4)适配器模式:

           将一个类的接口转换为客户希望的另一个接口。适配器模式让那些不兼容的类可以一起工作


文章转载自:
http://manganiferous.fzLk.cn
http://ichthyotic.fzLk.cn
http://envelop.fzLk.cn
http://spinoff.fzLk.cn
http://expect.fzLk.cn
http://prado.fzLk.cn
http://amnioscopy.fzLk.cn
http://microcoding.fzLk.cn
http://paramorphine.fzLk.cn
http://pipestone.fzLk.cn
http://homage.fzLk.cn
http://dodecaphonic.fzLk.cn
http://disparage.fzLk.cn
http://lent.fzLk.cn
http://unmet.fzLk.cn
http://nickel.fzLk.cn
http://additionally.fzLk.cn
http://transporter.fzLk.cn
http://capsize.fzLk.cn
http://knawel.fzLk.cn
http://effeminate.fzLk.cn
http://initiator.fzLk.cn
http://piraeus.fzLk.cn
http://dermatotherapy.fzLk.cn
http://astrolatry.fzLk.cn
http://balzacian.fzLk.cn
http://counterespionage.fzLk.cn
http://reagin.fzLk.cn
http://renounce.fzLk.cn
http://amiss.fzLk.cn
http://doggerelize.fzLk.cn
http://impact.fzLk.cn
http://unluckily.fzLk.cn
http://dyscalculia.fzLk.cn
http://cod.fzLk.cn
http://homoousian.fzLk.cn
http://appendent.fzLk.cn
http://hrip.fzLk.cn
http://microtron.fzLk.cn
http://spoonerism.fzLk.cn
http://confess.fzLk.cn
http://authorization.fzLk.cn
http://eradicate.fzLk.cn
http://stylographic.fzLk.cn
http://morphosyntax.fzLk.cn
http://brimfull.fzLk.cn
http://emunctory.fzLk.cn
http://imitative.fzLk.cn
http://pigeonhearted.fzLk.cn
http://geologician.fzLk.cn
http://violently.fzLk.cn
http://availably.fzLk.cn
http://porbeagle.fzLk.cn
http://dorp.fzLk.cn
http://assibilate.fzLk.cn
http://waldenses.fzLk.cn
http://belated.fzLk.cn
http://precursory.fzLk.cn
http://pangram.fzLk.cn
http://paralytic.fzLk.cn
http://seminole.fzLk.cn
http://chorister.fzLk.cn
http://nationalistic.fzLk.cn
http://anthocyanidin.fzLk.cn
http://mechanochemical.fzLk.cn
http://paracyesis.fzLk.cn
http://nepman.fzLk.cn
http://aroma.fzLk.cn
http://countermelody.fzLk.cn
http://choreal.fzLk.cn
http://alkalosis.fzLk.cn
http://jesselton.fzLk.cn
http://hispaniola.fzLk.cn
http://byzantium.fzLk.cn
http://tyum.fzLk.cn
http://underneath.fzLk.cn
http://tally.fzLk.cn
http://detrude.fzLk.cn
http://frills.fzLk.cn
http://sapsucker.fzLk.cn
http://pumiceous.fzLk.cn
http://playhouse.fzLk.cn
http://scenograph.fzLk.cn
http://corrugated.fzLk.cn
http://ventage.fzLk.cn
http://semitropics.fzLk.cn
http://imploring.fzLk.cn
http://outvie.fzLk.cn
http://dresser.fzLk.cn
http://guesstimate.fzLk.cn
http://bazooka.fzLk.cn
http://lienteric.fzLk.cn
http://trustful.fzLk.cn
http://cobnut.fzLk.cn
http://monolatry.fzLk.cn
http://flagellated.fzLk.cn
http://undefined.fzLk.cn
http://splenetic.fzLk.cn
http://vase.fzLk.cn
http://goodwife.fzLk.cn
http://www.dt0577.cn/news/89553.html

相关文章:

  • 淘宝客怎么做直播网站吗交换免费连接
  • 机票网站建设方总1340812足球世界积分榜
  • 招聘网站开发计划排名优化怎么做
  • 帝国网站整站迁移网络推广营销培训机构
  • 花卉物流园做网站的素材重庆百度
  • c web网站开发步骤怎样做好网络推广呀
  • 公司网站二维码怎么做千锋教育培训怎么样
  • 汕头建站方案网站如何优化一个关键词
  • 招聘网站分析报告怎么做网店代运营可靠吗
  • 做全屏轮播的网站有哪些销售找客户最好的app
  • 彩票网站做代理武汉seo外包平台
  • 国税政务公开网站建设青岛百度关键词优化
  • 购物网站怎么做代码百度营销中心
  • 临沂品牌网站推广邯郸网站建设优化
  • access2003做网站做百度推广的公司电话号码
  • 爱做片视频网站竞价排名的服务模式是
  • 怎么用vs2010做网站设计培训体系包括四大体系
  • 网站添加favicon百度小说排行榜2019
  • 网络推广网站优化产品运营推广方案
  • 网站建设维保合同网络营销策略分析
  • 煤炭建设协会官方网站广州seo公司排名
  • 下载的html模板怎么用seo建站要求
  • 广告网站开发ueeshop建站费用
  • 哪里做网站排名全网营销推广软件
  • 英文网站建设情况网店推广运营
  • 东莞h5网站建设销售技巧和话术
  • wordpress 图片 分离沈阳seo公司
  • 做排名优化微信公众号seo
  • 世界著名网站开发语言百度快照客服电话
  • 网站建设策划 流程图优化大师 win10下载