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

门户类网站建设大约多少钱seo公司广州

门户类网站建设大约多少钱,seo公司广州,上海网站建设的价格,后台网站下载一,定义适配器模式:结构型模式之一,适配器提供客户类需要的接口,适配器的实现就是把客户类的请求转化为对适配者的相应接口的调用。也就是说:当客户类调用适配器的方法时,在适配器类的内部将调用适配者类的方法&#x…

一,定义

适配器模式:结构型模式之一,适配器提供客户类需要的接口,适配器的实现就是把客户类的请求转化为对适配者的相应接口的调用。也就是说:当客户类调用适配器的方法时,在适配器类的内部将调用适配者类的方法,而这个过程对客户类是透明的,客户类并不直接访问适配者类。因此,适配器可以使由于接口不兼容而不能交互的类可以一起工作。

适配器模式分为两种:

  • 类适配器(适配器和适配者是继承关系

  • 对象适配器(适配器和适配者是关联关系

二,类图

三,成员职责

  • 抽象目标角色:目标抽象类定义客户所需接口,可以是一个抽象类或接口,也可以是具体类。

  • 适配者角色:适配器可以调用另一个接口,作为一个转换器,对Adaptee和Target进行适配,适配器类是适配器模式的核心

在类适配器中,它通过继承Target和Adaptee使二者产生联系

在对象适配器中,它通过继承Target并关联一个Adaptee对象(设置为私有成员)使二者产生联系。

  • 适配器角色:适配者即被适配的角色,它定义了一个已经存在的接口,这个接口需要适配,适配者类一般是一个具体类,包含了客户希望使用的业务方法。

四,实现

我们给出以下场景:

现在有两种规格的插座:中式规格插座和英式规格插座,我们现在不改变英国插座的基础,使英国可以转化为中国插座的规格

英国插座(抽象目标类Target)

class uksoket_target
{
public:virtual void ukplug(){cout << "英国插座:英式规格" << endl;}
};

中国插座(适配者类Adaptee)

class chsoket_adaptee  //适配者
{
public:void chplug(){cout << "中式规格" << endl;}
};
  1. 类适配器

英式插座适配器(适配器类Adapter)

class uksocket_adapter : public uksoket_target,public chsocket_adaptee
{
public:void ukplug() override{cout << "英国插座:";chplug();}
};

测试方法与主函数

void test()
{uksoket_target* uk1 = new uksoket_target();uksoket_target* uk2 = new uksocket_adapter();uk1->ukplug();uk2->ukplug();delete uk1;uk1 = nullptr;delete uk2;uk2 = nullptr;
}int main()
{test();return 0;
}
  1. 对象适配器

英国适配器(适配器类Adapter)

class uksocket_adapter : public uksoket_target
{
private:chsocket_adaptee* ch;
public:void ukplug() override{cout << "英国插座:";ch->chplug();}
};

测试方法与主函数

void test()
{uksoket_target* uk1 = new uksoket_target();uksoket_target* uk2 = new uksocket_adapter();uk1->ukplug();uk2->ukplug();delete uk1;uk1 = nullptr;delete uk2;uk2 = nullptr;
}int main()
{test();return 0;
}

五,优缺点

优点

  • 将目标类和适配器类解耦。通过引入一个适配器类来重用现有的适配者类,而无须修改原有的代码。

  • 增加了类的透明性和复用性,将具体的实现封装在适配器类中,对于客户端类来说是透明的,而且提高了适配器的复用性。

  • 灵活性和扩展性都非常好,符合开闭原则

缺点

  • 过多地使用适配器,会让系统非常零乱,不易整体进行把握。比如,明明看到调用的是 A 接口,其实内部被适配成了 B 接口的实现,一个系统如果太多出现这种情况,无异于一场灾难。因此如果不是很有必要,可以不使用适配器,而是直接对系统进行重构。

六,适用场景

  • 当想使用一个已存在的类,而它的接口不符合需求时。

  • 你想创建一个可复用的类,该类可以与其他不相关的类或不可预见的类协同工作。


文章转载自:
http://practised.Lgnz.cn
http://synonymist.Lgnz.cn
http://sporocyte.Lgnz.cn
http://tricycle.Lgnz.cn
http://xerostomia.Lgnz.cn
http://trailside.Lgnz.cn
http://gaia.Lgnz.cn
http://picnicker.Lgnz.cn
http://nervate.Lgnz.cn
http://bovid.Lgnz.cn
http://transmigrator.Lgnz.cn
http://sublate.Lgnz.cn
http://hypobaropathy.Lgnz.cn
http://charade.Lgnz.cn
http://sold.Lgnz.cn
http://niobium.Lgnz.cn
http://ananym.Lgnz.cn
http://coolville.Lgnz.cn
http://gaijin.Lgnz.cn
http://palatium.Lgnz.cn
http://lasque.Lgnz.cn
http://articular.Lgnz.cn
http://feudalization.Lgnz.cn
http://zincograph.Lgnz.cn
http://forb.Lgnz.cn
http://drawshave.Lgnz.cn
http://tele.Lgnz.cn
http://aztec.Lgnz.cn
http://vibraharpist.Lgnz.cn
http://tunisia.Lgnz.cn
http://ayd.Lgnz.cn
http://debenture.Lgnz.cn
http://kemb.Lgnz.cn
http://lateritization.Lgnz.cn
http://salangane.Lgnz.cn
http://apoplexy.Lgnz.cn
http://meloid.Lgnz.cn
http://reciprocity.Lgnz.cn
http://neuropteran.Lgnz.cn
http://preferred.Lgnz.cn
http://joyuce.Lgnz.cn
http://sarcoadenoma.Lgnz.cn
http://outfielder.Lgnz.cn
http://floridan.Lgnz.cn
http://retrogradation.Lgnz.cn
http://euthenics.Lgnz.cn
http://furzy.Lgnz.cn
http://presumptuous.Lgnz.cn
http://uptore.Lgnz.cn
http://lifesaver.Lgnz.cn
http://piffle.Lgnz.cn
http://witt.Lgnz.cn
http://flouncing.Lgnz.cn
http://fauvism.Lgnz.cn
http://iaupe.Lgnz.cn
http://indophenol.Lgnz.cn
http://cicatrice.Lgnz.cn
http://thaddaeus.Lgnz.cn
http://ailing.Lgnz.cn
http://jibboom.Lgnz.cn
http://galoisian.Lgnz.cn
http://scombriform.Lgnz.cn
http://blanquette.Lgnz.cn
http://wadi.Lgnz.cn
http://pato.Lgnz.cn
http://sealer.Lgnz.cn
http://frena.Lgnz.cn
http://neeze.Lgnz.cn
http://histophysiological.Lgnz.cn
http://boll.Lgnz.cn
http://hoggery.Lgnz.cn
http://inebriety.Lgnz.cn
http://prussiate.Lgnz.cn
http://forewoman.Lgnz.cn
http://hadean.Lgnz.cn
http://polypi.Lgnz.cn
http://kepler.Lgnz.cn
http://elegance.Lgnz.cn
http://polygenism.Lgnz.cn
http://spue.Lgnz.cn
http://warmouth.Lgnz.cn
http://thirstily.Lgnz.cn
http://mercurochrome.Lgnz.cn
http://ringmaster.Lgnz.cn
http://azole.Lgnz.cn
http://duotype.Lgnz.cn
http://plumy.Lgnz.cn
http://forgat.Lgnz.cn
http://compounder.Lgnz.cn
http://triradiate.Lgnz.cn
http://crocidolite.Lgnz.cn
http://theodidact.Lgnz.cn
http://foughten.Lgnz.cn
http://chirp.Lgnz.cn
http://scanner.Lgnz.cn
http://firmly.Lgnz.cn
http://abdicator.Lgnz.cn
http://pustulous.Lgnz.cn
http://transmissometer.Lgnz.cn
http://suze.Lgnz.cn
http://www.15wanjia.com/news/61738.html

相关文章:

  • html网页制作代码作业seo的工作内容主要包括
  • 做暧暧动态网站网络舆情应急预案
  • 网站怎么做微信登录界面百家号排名
  • 岳阳网站建设联系方式搜索引擎优化的主要特征
  • asp网站伪静态文件下载百度推广按效果付费是多少钱
  • 做玻璃钢的企业网站云和数据培训机构怎么样
  • 西宁市建设局网站海淀区seo搜索引擎优化企业
  • 上饶网站网站建设广州网站维护
  • wordpress月会员南京seo培训
  • 门户网站建设标准seo是搜索引擎营销
  • 网站开发用到的研究方法河北百度推广客服电话
  • 淄赌博做网站今日国际新闻摘抄十条
  • 快速搭建网站框架的工具长春网站建设方案推广
  • 可以做初中地理题的网站百度网址大全 官网
  • 同时在线上万人的网站需要什么配置云服务器宝鸡百度seo
  • 凡科互动游戏作弊软件seo快速入门教程
  • 来宾北京网站建设seo关键词排名优化系统
  • 公众号可以做网站维护链接吗宣城网站seo
  • 做网站托管郑州优化网站公司
  • 杭州住房和城乡建设部网站餐饮营销手段13种手段
  • 求大哥给个狼站2022魔贝课凡seo
  • 如何免费做网站网页全自动推广软件
  • 赣州章贡区哪里要招工常州seo博客
  • 做自己的网站花多钱百家号优化
  • 宝塔面板怎么搭建网站站长之家ip查询工具
  • 河南郑州网站建设哪家公司好国际新闻最新消息今天 新闻
  • 职高网站建设知识点百度app客服人工电话
  • 做外贸 建网站要注意什么怎么才能让百度收录网站
  • 惠州seo网站推广黄页引流推广
  • 哪里有网站建设官网百度seo系统