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

信阳住房和城乡建设厅网站php网站开发实例视频

信阳住房和城乡建设厅网站,php网站开发实例视频,网络营销比较成功的企业,怎么自己做音乐网站适配器是一种结构型设计模式#xff0c;用于将一个接口转换为另一个客户端所需要的接口。该模式通过创建一个适配器对象#xff0c;使不兼容的接口可以协同工作。 适配器模式主要分为三个角色#xff1a;适配器类、目标类、适配者类。 适配器模式分为对象适配器和类适配器…适配器是一种结构型设计模式用于将一个接口转换为另一个客户端所需要的接口。该模式通过创建一个适配器对象使不兼容的接口可以协同工作。 适配器模式主要分为三个角色适配器类、目标类、适配者类。 适配器模式分为对象适配器和类适配器。 对象适配器是基于组合实现而类适配器通过多继承方式实现。在类适配器模式中适配器类即继承目标类又继承适配者类从而能够调用适配者类的方法并将其适配到目标类身上。相比之下对象适配器更加灵活因为它是继承目标类、定义适配者对象在目标类方法中调用适配者对象的方法这种方法支持我们可以适配多个适配者类也就是定义多个适配者类所以更加灵活。 主要区别包括 1、实现方式对象适配器使用对象组合composition实现适配器功能而类适配器使用多重继承multiple inheritance实现适配器功能。 2、关系对象适配器通过持有适配者对象的引用来连接适配器与适配者类适配器通过同时继承目标类和适配者类来连接适配器与适配者。 3、灵活性对象适配器更加灵活可以适配多个适配者类并且可以动态切换适配者类适配器在编译时就确定了适配者类无法在运行时动态切换适配者。 因为类适配器是在编译时确定的所以基本没有优点我们这里举一个对象适配器的例子。 假设我们现在有一个模拟动物各种行为的机器人它定义了叫喊和奔跑两种方法我们现在希望不修改现有代码的基础上让机器人模仿狗的叫声和跑步姿势。 #include iostream #include memory// 目标抽象类Robot class IRobot { public:virtual ~IRobot() {}virtual void Cry() 0;virtual void Run() 0; };// 适配者类 狗 class Dog { public:void Wang(){std::cout 狗叫 std::endl;}void Run(){std::cout 狗跑 std::endl;} };// 适配器类 class DogAdapter: public IRobot { public:DogAdapter(std::shared_ptrDog _dog): dog_(_dog){}virtual void Cry() override{std::cout 机器人模仿: ;if (dog_)dog_-Wang();}virtual void Run() override{std::cout 机器人模仿: ;if (dog_)dog_-Run();}private:std::shared_ptrDog dog_; };测试 void TestAdapter() {std::shared_ptrIRobot robot std::make_sharedDogAdapter(std::make_sharedDog());robot-Cry();robot-Run(); }输出 机器人模仿: 狗叫 机器人模仿: 狗跑为了实现这个示例我们创建了一个抽象目标类 IRobot定义了叫和跑两种方法。创建了一个具体适配者类 Dog同样实现了叫和跑两种方法创建了一个适配器类 DogAdapter继承IRobot并且定义一个适配者对象重写这两种方法在这两种方法里调用适配者对象的叫和跑两种方法到达机器人模拟狗叫和狗跑的目的。 适配器模式遵循以下设计原则 1、单一职责原则适配器类的主要责任是将不兼容的接口转换为兼容的接口它应该只关注适配工作不涉及其他功能。 2、开闭原则适配器模式允许系统在不修改现有代码的情况下引入新的适配器类以适应不同的适配需要。 优点 1、增加代码的可重用性适配器模式可以重用现有的适配者类无需修改其代码增加系统的可维护性和灵活性。 2、系统的解耦适配器模式将客户端和适配者类进行解耦使得客户端不需要关心具体适配者类的实现细节。而且适配者类发生改变不影响客户端。 3、提高系统的扩展性适配者模式允许在不修改现有代码的情况下增加新的适配器类以适应不同的接口需求。 缺点 1、增加系统的复杂性因为引入了适配器类增加了系统的复杂性对于简单系统可能显得过于繁琐。 2、增加运行时的开销由于适配器需要进行接口转换和数据转换可能会引入一些系统运行时的开销。
http://wiki.neutronadmin.com/news/112911/

相关文章:

  • 兰州网站定制公司wordpress 有广告
  • 有哪些网站是拐角型乌兰察布市建设工程造价网站
  • 自己的网站群晖企业解决方案
  • 网站开发和软件开发工作传销网站开发系统维护
  • 网站业务怎么做的友情链接购买网站
  • 霞山网站开发公司开店加盟
  • 从来没做过网站如何做手表网站素材
  • 网站主页面设计多少钱品牌设计流程
  • 触屏音乐网站源码廊坊网站建设官网
  • 诸城网站建设php程序员
  • 网站后台代码如何做网站建设公司新闻
  • 海外购物网站建设wordpress沙盒框架
  • 做网站多少钱西宁君博领先开封建设企业网站公司
  • 菏泽建设职业中等专业学校官方网站高新区建网站外包
  • 昆明网站制作廊坊电商网站建设
  • 深圳宝安网站建设报价玉环市建设规划局网站
  • 重庆南川网站制作价格关键词点击排名软件
  • 建网站的工具有哪些广州网站建设哪里有
  • 企业网站建设的定位微信小程序做网站
  • 苏州网站建设店铺装修网站制作实例教程
  • 江苏专业网站建设费用如何注册视频号
  • 建网站做哪方面搜狗官网
  • 温州外贸网站推广国内最有趣的网站
  • 怎样办网站做宣传手机网站建设步骤
  • 陕西省城乡建设厅网站宁波网站制作哪家强
  • 在线网站建设教程建设工程安全管理网站
  • 医院网站素材天睦和生态建设有限公司网站
  • 蔬菜类网站建设规划书反向代理wordpress 8080
  • 建设银行手机官方网站下载安装网站建设歺金手指排名13
  • 百度推广和网站建设品牌建设