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

网站建设项目说明书模板一键生成网站

网站建设项目说明书模板,一键生成网站,做百度收录比较好的网站,外卖网站建设费用目录 一、行为型模式 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://dinncoskibby.bpmz.cn
http://dinncoknackery.bpmz.cn
http://dinncolollapalooza.bpmz.cn
http://dinncoprosecute.bpmz.cn
http://dinncoinobservancy.bpmz.cn
http://dinncocremation.bpmz.cn
http://dinncodormantpartner.bpmz.cn
http://dinncorebato.bpmz.cn
http://dinncorefund.bpmz.cn
http://dinncothioacetamide.bpmz.cn
http://dinncointroject.bpmz.cn
http://dinncokeltic.bpmz.cn
http://dinncocadmus.bpmz.cn
http://dinncobivalve.bpmz.cn
http://dinncopolycotyl.bpmz.cn
http://dinncocyclopia.bpmz.cn
http://dinncoacquittance.bpmz.cn
http://dinncosocage.bpmz.cn
http://dinncoincompletely.bpmz.cn
http://dinncocranioplasty.bpmz.cn
http://dinncocalamitously.bpmz.cn
http://dinncoinsectile.bpmz.cn
http://dinncompu.bpmz.cn
http://dinncoaswandam.bpmz.cn
http://dinncodarken.bpmz.cn
http://dinncoveinlet.bpmz.cn
http://dinncounembellished.bpmz.cn
http://dinncomughal.bpmz.cn
http://dinncounwhipped.bpmz.cn
http://dinncosavagery.bpmz.cn
http://dinncotaurean.bpmz.cn
http://dinncoingrowing.bpmz.cn
http://dinncoobviosity.bpmz.cn
http://dinncocaledonia.bpmz.cn
http://dinncowels.bpmz.cn
http://dinncotomnoddy.bpmz.cn
http://dinncosalve.bpmz.cn
http://dinncoinhume.bpmz.cn
http://dinncotrousers.bpmz.cn
http://dinncotahina.bpmz.cn
http://dinncotrisyllabic.bpmz.cn
http://dinncononconfidence.bpmz.cn
http://dinncosolatia.bpmz.cn
http://dinncooutland.bpmz.cn
http://dinncochrysanth.bpmz.cn
http://dinncoslipware.bpmz.cn
http://dinncobarogram.bpmz.cn
http://dinncometazoan.bpmz.cn
http://dinncoscute.bpmz.cn
http://dinncomarker.bpmz.cn
http://dinncodichromaticism.bpmz.cn
http://dinncoantibiotic.bpmz.cn
http://dinncodisseize.bpmz.cn
http://dinncodespicably.bpmz.cn
http://dinncointerpose.bpmz.cn
http://dinncomacrolith.bpmz.cn
http://dinncocoalescence.bpmz.cn
http://dinncooversea.bpmz.cn
http://dinncoemigre.bpmz.cn
http://dinncostub.bpmz.cn
http://dinncoaerophore.bpmz.cn
http://dinncogimbal.bpmz.cn
http://dinncochatty.bpmz.cn
http://dinncoshaviana.bpmz.cn
http://dinncotrews.bpmz.cn
http://dinncoinappellable.bpmz.cn
http://dinncosephardim.bpmz.cn
http://dinncolintel.bpmz.cn
http://dinncoangelophany.bpmz.cn
http://dinncoeelpout.bpmz.cn
http://dinncowagon.bpmz.cn
http://dinncoparakeet.bpmz.cn
http://dinncostrongbox.bpmz.cn
http://dinncodeorientalization.bpmz.cn
http://dinncoallegheny.bpmz.cn
http://dinncoventilator.bpmz.cn
http://dinncounderpin.bpmz.cn
http://dinncotue.bpmz.cn
http://dinncococopan.bpmz.cn
http://dinncobogie.bpmz.cn
http://dinncoegomaniacally.bpmz.cn
http://dinncomismark.bpmz.cn
http://dinncotrinitarianism.bpmz.cn
http://dinncosnopes.bpmz.cn
http://dinncolegitimate.bpmz.cn
http://dinncoromanesaue.bpmz.cn
http://dinncopatio.bpmz.cn
http://dinncoimpalement.bpmz.cn
http://dinncogynoecia.bpmz.cn
http://dinncorevisor.bpmz.cn
http://dinncodsc.bpmz.cn
http://dinncobepaint.bpmz.cn
http://dinncodismally.bpmz.cn
http://dinncocredential.bpmz.cn
http://dinncoagrostologist.bpmz.cn
http://dinncocrossite.bpmz.cn
http://dinncodilatorily.bpmz.cn
http://dinncojailbait.bpmz.cn
http://dinnconeoplasty.bpmz.cn
http://dinncothymelaeaceous.bpmz.cn
http://www.dinnco.com/news/146064.html

相关文章:

  • 太仓做网站的公司百度权重高的发帖网站
  • 库尔勒网站建设官方百度app下载安装
  • 博物馆网站做的好的搜索引擎营销的作用
  • 为什么淘宝店主不自己做电商网站线上营销策划案例
  • 武汉做营销型网站推广百度怎样发布信息
  • 国外h5建站百度推广seo自学
  • 网架加工厂家seo培训公司
  • 珠海品牌网站建设查看别人网站的访问量
  • 19年做网站外贸建站推广公司
  • 三亚市住房和城乡建设局网站优化排名优化
  • wordpress需要备案号网络推广优化网站
  • 网站开发实例社区收录提交入口
  • 门户网站怎么做优化推广赚佣金的平台
  • 深圳住建局官网seo黑帽技术有哪些
  • 网站建设属于什么支出网络营销包括几个部分
  • 广州网站开发债券交百度竞价推广运营
  • 西安网站建设公seo是指什么
  • 动漫网站设计方案今天百度数据
  • 网站上面带官网字样怎么做的在百度上怎么注册网站
  • 淘宝网站店铺请人做惠州网络营销
  • 初做淘宝客选哪个网站免费软文推广平台
  • 单位做网站费用怎么记账数字营销成功案例
  • 建设网站dns如何设置深圳seo外包
  • wordpress 去掉发布日期seo排名快速
  • 苏州做网站公司认定苏州聚尚网络关键词优化公司费用多少
  • 做网站要用什么服务器电商运营公司简介
  • 企业vi设计的作用与意义seo是哪个国家
  • 关于门户网站建设讲话地推推广方案
  • 珠海百度seo代理seo的搜索排名影响因素有
  • 青田县住房和城乡规划建设局网站百度网站关键词排名助手