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

青岛市崂山区建设局网站网站建设的具体过程

青岛市崂山区建设局网站,网站建设的具体过程,网站用户体验存在问题,网页版qq怎么登陆上一节#xff1a;原型模式#xff08;Prototype Pattern#xff09; C 文章目录 0.理论1.组件2.类型3.什么时候使用 1.实践1.基础接口和类2.类适配器实现3.对象适配器实现 0.理论 适配器模式#xff08;Adapter Pattern#xff09;是一种结构型设计模式#xff0c;它允…上一节原型模式Prototype Pattern C 文章目录 0.理论1.组件2.类型3.什么时候使用 1.实践1.基础接口和类2.类适配器实现3.对象适配器实现 0.理论 适配器模式Adapter Pattern是一种结构型设计模式它允许将一个类的接口转换成客户端期望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作它通过包装一个已有的类提供一个新的接口从而使原本由于接口不兼容而不能一起工作的类可以一起工作。 1.组件 目标Target定义客户端使用的与特定领域相关的接口。客户端Client与符合目标接口的对象协同工作。被适配者Adaptee定义一个已经存在的接口这个接口需要适配。适配器Adapter对Adaptee的接口与Target接口进行适配适配器让原本接口不兼容的类可以合作无间。 2.类型 类适配器使用多重继承对一个接口与另一个接口进行匹配。适配器继承自Adaptee类并实现Target接口。 对象适配器使用组合将请求从Client转发给Adaptee。适配器实现Target接口并在内部持有一个Adaptee实例的引用。 在 Adapter 模式的结构图中可以看到类模式的 Adapter 采用继承的方式复用 Adaptee的接口而在对象模式的 Adapter 中我们则采用组合的方式实现 Adaptee 的复用. 类适配器使用继承直接继承自被适配者Adapter 这要求适配器和被适配者之间是“是一个”is-a的关系。类适配器可以重写被适配者的行为。 对象适配器使用组合包含一个被适配者的引用这表示适配器和被适配者之间是“有一个”has-a的关系。对象适配器更加灵活它允许一个适配器与多个被适配者同时工作甚至在运行时动态地适配。 3.什么时候使用 当你想使用某个类但是它的接口与其他代码不兼容时。当你想创建一个可复用的类该类可以与未知的或未来的类即那些接口可能不兼容的类协同工作。当你需要使用几个现有的子类但是子类的接口不符合你的需求且你不能控制这些子类的源代码时。类适配器适合于被适配者不太可能改变的情况而对象适配器则适合于需要适配多个不同的类的情况 1.实践 假设我们正在开发一个游戏游戏中有一个旧的敌人接口OldEnemy它提供了一些基本的功能比如攻击attack和移动move。现在我们希望在游戏中引入一个新的敌人类型这个新敌人使用了一个不同的接口NewEnemy。我们的目标是让新敌人能够适配旧的敌人接口以便可以使用旧的游戏逻辑来控制它。 1.基础接口和类 首先定义旧的敌人接口OldEnemy和新的敌人接口NewEnemy以及一个实现了新接口的新敌人类Alien // 旧的敌人接口 class OldEnemy { public:virtual void attack() 0;virtual void move() 0;virtual ~OldEnemy() {} };// 新的敌人接口 class NewEnemy { public:virtual void fireWeapon() 0;virtual void navigate() 0;virtual ~NewEnemy() {} };// 实现了新接口的敌人类 class Alien : public NewEnemy { public:void fireWeapon() override {std::cout Alien fires its blaster! std::endl;}void navigate() override {std::cout Alien moves in zero gravity. std::endl;} }; 2.类适配器实现 类适配器使用继承来实现适配同时继承OldEnemy目标接口和Alien被适配者 class AlienAdapter : public OldEnemy, private Alien { public:void attack() override {fireWeapon(); // 调用Alien的fireWeapon}void move() override {navigate(); // 调用Alien的navigate} }; 在这个类适配器中AlienAdapter通过继承Alien类直接访问其方法并将它们适配到OldEnemy接口的期望方法上。 3.对象适配器实现 对象适配器使用组合来实现适配它包含一个对新接口对象的引用 class AlienObjectAdapter : public OldEnemy { private:NewEnemy* alien; // 持有一个指向NewEnemy接口的指针 public:AlienObjectAdapter(NewEnemy* a) : alien(a) {}void attack() override {alien-fireWeapon(); // 通过引用调用Alien的fireWeapon}void move() override {alien-navigate(); // 通过引用调用Alien的navigate} }; 在这个对象适配器中AlienObjectAdapter持有一个指向NewEnemy接口即Alien类实例的指针并通过这个引用来调用具体的方法将NewEnemy接口的方法适配到OldEnemy接口期望的方法上。 下一节桥接模式Bridge Pattern C
http://www.dnsts.com.cn/news/145240.html

相关文章:

  • 北京门户网站设计天津企业seo
  • 我想来做外贸网站来推广泰州网站快速排名优化
  • 谷歌云宝塔搭建WordPress济南网站搜索优化
  • 网站建设中企动力最佳a5网站开发课程设计培训
  • 网站每年多少钱深圳app开发怎么选
  • 工业智能科技网站设计seo是什么技术
  • 检测网站安全怎么开公司
  • 建设网站的工作总结网页制作app
  • 简洁大气的企业网站电子商务网站开发与设计
  • 科技部网站改版方案wordpress frame
  • 网站建设ppt方案结语wordpress主题the 7特点
  • 株洲网站建设优化企业保山网站建设多少钱
  • 动易网站 首页模板修改网站建设 洪塔
  • 网站维护需要多久时间网站好坏标准
  • 做的网站百度排名没有图片显示求个网站知乎
  • 做外贸生意在哪个网站手机微信小程序免费制作平台
  • 看案例网站东莞网站建设方案报价
  • 中国域名网站餐饮logo设计
  • 淄博网站建设至信网络台州城乡建设局网站
  • 淘宝网站的建设目的是什么装修价格
  • 住房和城乡建设部网站干部学院电商运营的概念
  • 网站根目录表示免费的网站app软件
  • 网站建设制作官网页面设计比较好的公司
  • 做试管婴儿的网站vs2013做网站保存的格式
  • 外贸网站模板建设关于宠物的网页设计
  • 清河做网站哪儿好苏州博客关键词优化
  • 公司网站可以自己建立吗奉贤品牌网站建设
  • 国外 平面设计 网站网站建设分为哪几种
  • 勐海县住房和城乡建设局网站wordpress 金融 模板
  • 网站根目录文件夹上海做推