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

wordpress为什么被安卓优化

wordpress为什么被,安卓优化,制作网站深圳,网页设计怎么创建站点目录 一、行为型模式 1.1、策略模式 1.1.1、概论 1.1.2、案例实现 1.1.3、优缺点 1.1.4、使用场景 一、行为型模式 1.1、策略模式 1.1.1、概论 策略模式设计的每一个算法都封装了起来,使他们可以相互替换,通过一个对象委派不同的算法给相应的客户…

目录

一、行为型模式

1.1、策略模式

1.1.1、概论

1.1.2、案例实现

1.1.3、优缺点

1.1.4、使用场景


一、行为型模式


1.1、策略模式

1.1.1、概论

策略模式设计的每一个算法都封装了起来,使他们可以相互替换,通过一个对象委派不同的算法给相应的客户进行使用.

例如一家百货公司,规定在逢年过节的时候进行促销活动.  针对不同的节日(春节、中秋节、端午节)推出不同的促销活动,然后由 促销员 将促销活动展示给客户. 

策略模式主要角色如下:

  • 抽象策略类:由一个接口或者抽象类来实现,给出了所有 具体策略类 所需的接口.
  • 提交策略类:实现了抽下你个策略定义的接口,提供具体的算法实现.
  • 环境类:持有一个策略类引用,最终给客户端调用.

1.1.2、案例实现

针对以上案例进行实现.

/*** 抽象策略: 促销活动接口*/
public interface Strategy {void show();}
/*** 具体策略类: 春节活动类*/
public class StrategyA implements Strategy {@Overridepublic void show() {System.out.println("春节到了,全场买一送一!");}}
/*** 具体策略类: 中秋节活动类*/
public class StrategyB implements Strategy {@Overridepublic void show() {System.out.println("中秋节到了,全场满 50 送月饼!");}}
/*** 具体策略类: 端午节活动类*/
public class StrategyC implements Strategy {@Overridepublic void show() {System.out.println("端午节到了,全场满 80 送粽子!");}}
/*** 环境类: 销售员类*/
public class SalesMan {private Strategy strategy;public SalesMan(Strategy strategy) {this.strategy = strategy;}public Strategy getStrategy() {return strategy;}public void setStrategy(Strategy strategy) {this.strategy = strategy;}public void showAction() {strategy.show();}}
public class Client {public static void main(String[] args) {//1.春节SalesMan man = new SalesMan(new StrategyA());man.showAction();System.out.println("======================");//2.中秋节man.setStrategy(new StrategyB());man.showAction();System.out.println("======================");//3.端午节man.setStrategy(new StrategyC());man.showAction();System.out.println("======================");}}

执行结果如下:

1.1.3、优缺点

优点:

  • 策略类之间可以自由切换:由于策略类都实现同一个接口,所以使得他们之间可以根据不同的需求场景任意切换.
  • 易扩展,符合开闭原则:增加一个新的的策略只需要添加一个具体的策略类即可,不需要修改原有代码.
  • 避免使用多重条件选择语句(if else),充分体现面向对象设计思想.

缺点:

客户端必须知道所有的策略类,并自行决定使用哪个策略类.

策略模式将造成产生多个策略类(一个策略产生一个类).

1.1.4、使用场景

  1. 一个系统需要动态的在几种算法中选择一种时,可以将每个算法封装到策略类中.
  2. 一个类定义了多个行为,并且这些行为在这个类中以多个条件语句(if else)出现,就可以将每个分支移入他们各自的策略类中以替代这些条件语句.
  3. 每个策略算法彼此独立,要对客户隐藏具体算法实现细节.

http://www.khdw.cn/news/27559.html

相关文章:

  • 太原搜索引擎优化招聘信息潍坊关键词优化平台
  • 建站吧网站建设免费b2b网站有哪些
  • 兰州做网站的有哪几个it培训课程
  • wordpress添加悬浮客服手机网站怎么优化
  • 网站开发工具与技术企业网页
  • 网络优化的流程seo公司推广宣传
  • 自己使用原生php做网站性能接外贸订单的渠道平台哪个好
  • java网站开发软件南宁seo公司哪家好
  • 上海网站制作策湖南网络推广服务
  • 多语种外贸网站建设艾滋病多久能检查出来
  • 上海正规网站建设营销策划与运营团队
  • 博客式笑话网站织梦源码百度公司招聘信息
  • 福州网站设计公司产品网络营销
  • 速卖通网站怎样做店面的二维码百度行发代理商
  • 开通域名后怎样建设网站百度指数移动版怎么用
  • 怎么将网站权重提上去电脑优化用什么软件好
  • 传奇网站一般怎么做的seo网站首页推广
  • 生产模板的厂家更先进的seo服务
  • 孝感做网站公司求网址
  • 网站制作品牌公司网络营销主要是什么
  • 毕业设计做网站论文好写吗市场调研分析
  • 宜昌 网站建设黑帽seo论坛
  • 湖北省建设厅网站如何申诉网站建设产品介绍
  • 福清市住房和城乡建设局网站link友情买卖
  • 曹鹏wordpress教程全套seo培训教程
  • 163邮箱企业邮箱优化网址
  • 设计高端网站关键词优化排名哪家好
  • 用mvc做网站的框架免费聊天软件
  • 银行系统网站模板百度关键词怎么优化
  • 网站风格要求软件开发公司有哪些