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

鞍山网站制作公司游戏推广怎么做挣钱

鞍山网站制作公司,游戏推广怎么做挣钱,手机网站的开发,福州做网站优化目录 1、项目需求2、传统方案解决鸭子问题的分析和代码实现3、传统方式实现存在的问题分析和解决方案4、策略模式基本介绍5、使用策略模式解决鸭子问题6、策略模式的注意事项和细节7、策略模式的使用场景 以具体项目来演示为什么需要策略模式,策略模式的优点&#x…

目录

      • 1、项目需求
      • 2、传统方案解决鸭子问题的分析和代码实现
      • 3、传统方式实现存在的问题分析和解决方案
      • 4、策略模式基本介绍
      • 5、使用策略模式解决鸭子问题
      • 6、策略模式的注意事项和细节
      • 7、策略模式的使用场景

以具体项目来演示为什么需要策略模式,策略模式的优点,以及策略模式使用过程中需要注意的问题

1、项目需求

  • 有各种有鸭子(野鸭、北京鸭子、烤鸭),鸭子有各种行为(飞、叫),但是各种鸭子的行为又不完全一样
  • 显示鸭子信息

2、传统方案解决鸭子问题的分析和代码实现

1)传统设计方案

设计一个抽象父类 duck , 定义各种行为,然后各种鸭子种类继承该父类,重新行为方法
在这里插入图片描述

2)代码实现

public abstract class Duck {public abstract void display();public void quack() {System.out.println("鸭子嘎嘎叫~~~");}public void swim() {System.out.println("鸭子会游泳~~~");}public void fly() {System.out.println("鸭子会飞翔~~~");}
}public class BjDuck extends Duck{@Overridepublic void display() {System.out.println("这是一直北京鸭子~~~~");}@Overridepublic void fly() {System.out.println("北京鸭子不能飞翔!!");}
}

3、传统方式实现存在的问题分析和解决方案

1)存在的问题
不同子类的行为是不一样的,所以每次定义一个子类就需要重写父类的行为,导致代码太耦合

2)解决方式
使用策略模式


4、策略模式基本介绍

策略模式:指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法

策略模式体现了几个原则:

  • 把变化的代码从不变的代码中抽离出来
  • 针对接口编程而不是类
  • 多采用组合,聚合,少用继承的模式

策略模式基本类图:
在这里插入图片描述

5、使用策略模式解决鸭子问题

  • 封装行为接口,实现算法族
  • 超类中放行为的接口对象,在子类中具体设定行为对象

1) 定义行为接口,行为接口的具体实现类

// 飞行行为
public interface FlyBehavior {void fly();
}public class NoflyBehavior implements FlyBehavior{@Overridepublic void fly() {System.out.println("不会飞");}
}public class GoodflyBehavior implements FlyBehavior{@Overridepublic void fly() {System.out.println("具备很好的飞行技能!!");}
}// 叫行为
public interface QuackBehavior {void quack();
}
public class NoQuackBehavior implements QuackBehavior {@Overridepublic void quack() {System.out.println("不能叫");}
}
public class GeGeQuackBehavior implements QuackBehavior{@Overridepublic void quack() {System.out.println("咯咯叫");}
}

2)超类中聚合行为接口

public abstract class Duck {FlyBehavior flyBehavior;QuackBehavior quackBehavior;public abstract void display();public void fly() {flyBehavior.fly();}public void quack() {quackBehavior.quack();}
}

3)实现类中设置具体的行为对象

public class BjDuck extends Duck{public BjDuck() {this.flyBehavior = new BadflyBehavior();this.quackBehavior = new GeGeQuackBehavior();}@Overridepublic void display() {System.out.println("我叫做北京鸭子!!");}}

4)测试

public class Test {public static void main(String[] args) {BjDuck bjDuck = new BjDuck();bjDuck.display();bjDuck.fly();bjDuck.quack();}
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8JQqGxr0-1691938691359)(E:\学习笔记\设计模式\设计模式.assets\image-20230813092118844.png)]


6、策略模式的注意事项和细节

  • 策略模式的关键是:分析项目中的变化和不变部分
  • 核心思想:多使用组合,少使用继承;用行为类进行组合,而不是行为的继承

需要注意的是:每添加一个策略就要增加一个类,当策略过多时会导致类数目庞大!!!

7、策略模式的使用场景

https://blog.csdn.net/m4330187/article/details/121292879

http://www.hrbkazy.com/news/54409.html

相关文章:

  • 多语种外贸网站百度推广工作怎么样
  • wordpress下载效果谷歌seo视频教程
  • 烟台有没有做网站alexa排名查询统计
  • 餐饮行业做微信网站有什么好处如何做营销推广
  • 什么网站可以做字体效果sem竞价托管
  • 免费注册二级域名网站百度推广怎么弄
  • 广西备案工信部网站交换友情链接的方法
  • 建设网站招聘360排名优化工具
  • 网站上传 404windows优化大师和360哪个好
  • 网站icp备案新规如何制作网页广告
  • 赣州人才网招聘网宁波seo搜索平台推广专业
  • 图片制作手机软件厦门网站流量优化价格
  • 忍不住在楼道里面做免费网站上海企业推广
  • 网站怎样做漂浮南昌网站seo外包服务
  • 网站建设规划书范文500字网站收录申请
  • 网站运营如何做seo网站排名推广
  • 网站 description138ip查询网域名解析
  • 做网站需要注册商标吗淄博seo
  • 建设网站需要哪些内容宁波优化关键词首页排名
  • php wordpress 代码模板上海网站seo排名优化
  • 新疆交通建设管理局项目执行一处网站新闻媒体发布平台
  • 加强三农网站建设的意义关键词优化难度查询
  • 德州网站建设教程关键词调词平台费用
  • 南宁网站设计平台长沙优化官网服务
  • 免费可商用素材网站线上营销活动案例
  • 给企业建设网站的意义秦皇岛seo优化
  • 怎么做cms网站seo关键词优化排名外包
  • 百度网盘做自已网站东莞seo建站优化哪里好
  • 专门教做衣服的网站seo咨询推广找推推蛙
  • 成都网站建设优化前十营销渠道分为三种模式