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

网站开发公司怎么接单wordpress单页导航模版

网站开发公司怎么接单,wordpress单页导航模版,企业展厅设计比较好的公司,网页设计与网站建设 作业策略模式简介 策略模式定义 策略模式(Strategy Pattern)是一种行为型设计模式,它使能在运行时改变对象的行为。策略模式属于对象行为模式,它定义了一系列的算法,并将每一个算法封装起来,使它们可以互相替换…

策略模式简介

策略模式定义
策略模式(Strategy Pattern)是一种行为型设计模式,它使能在运行时改变对象的行为。策略模式属于对象行为模式,它定义了一系列的算法,并将每一个算法封装起来,使它们可以互相替换,且算法的变化不会影响使用算法的客户。策略模式使得算法可以独立于使用它的客户端变化。

策略模式包含以下角色:

  1. 策略接口(Strategy):这是一个抽象角色,通常由一个接口或抽象类实现。它定义了可供客户端使用的各种策略的方法。
  2. 具体策略(ConcreteStrategy):实现了策略接口的具体策略类,封装了具体的算法或行为。
  3. 上下文(Context):它是客户端和策略之间的桥梁,主要用于给客户端调用。使用一个策略接口的引用,其过程可以针对抽象策略接口编程。Context 将客户端的请求委托给策略对象来执行。

策略模式优缺点:
优点:

  1. 策略类之间自由切换:由于策略类实现的是同一个抽象,策略模式提供了对算法的自由切换,将算法的使用与算法的实现分离开来,使得算法独立于使用它的客户端变化。
  2. 扩展性:策略模式使得在运行时可以动态地改变对象的行为。可以不改动原有代码,增加一个新的策略对策略模式来说比较容易。降低了算法实现类与客户端的耦合度,提高了代码的可维护性和可扩展性。
  3. 简化单元测试:策略模式使得每一个算法都有自己的类,这样单元测试的时候,针对某一个具体算法测试的时候更加简单和方便。
  4. 多重条件语句不易维护,而使用策略模式可以避免使用多重条件语句

缺点:
1.客户端必须知道不同策略的存在:客户端必须了解不同策略,以便根据需求选择合适的策略对象,从而具有一定的复杂度。
2.增加了对象的数目:由于策略模式将算法单独提取出来封装成策略类,因此会增加系统中类的个数,,从而也具有一定的复杂度。
3.当策列类太多的话,维护策略类会有额外开销,因此策略类数量多了的话会比较麻烦。

使用场景

  1. 当一个系统有许多许多行为,或者一个系统需要根据运行时的情形使用不同的行为时。
  2. 当需要在不同时间应用不同的行为时,可以考虑使用策略模式。
  3. 当一个对象有很多的行为,并且这些行为在将来的版本中可能会发生变化时。

以下举一个策略模式的例子:
下面通过一个简单的例子来演示。比如我们出去玩时可以选择的出行策略有很多种:汽车、火车、飞机,,高铁等每种出行策略都有各自的使用方法,只要能到目的地,我们可以随意更换各种策略。

创建抽象策略角色(Strategy)

/*** 抽象策略角色*/
public interface ChooseMode {void getChoose();
}

创建具体策略角色:(ConcreteStrategy)

/*** 具体策略角色:汽车*/
public class Car implements ChooseMode {@Overridepublic void getChoose() {System.out.println("已选择交通方式,坐汽车。");}
}
/*** 具体策略角色:飞机*/
public class Plane implements ChooseMode {@Overridepublic void getChoose() {System.out.println("已选择交通方式,坐飞机");}
}
/*** 具体策略角色:火车*/
public class Trian implements ChooseMode {@Overridepublic void getChoose() {System.out.println("已选择交通方式,坐火车。");}
}

创建环境类(Context)

/*** 环境类*/
public class Choose {private ChooseMode chooseMode;public void setChooseMode(ChooseMode chooseMode) {this.chooseMode = chooseMode;}public void getChoose() {chooseMode.getChoose();}
}

创建客户端(Client)

public class Client {public static void main(String[] args) {Choose choose = new Choose();System.out.println("选择方案一出行:");choose.setChooseMode(new Car());choose.getChoose();System.out.println("选择方案二出行:");choose.setChooseMode(new Trian());choose.getChoose();System.out.println("选择方案三出行:");choose.setChooseMode(new Plane());choose.getChoose();}
}

输出结果如下所示:

选择方案一出行:
已选择交通方式,坐汽车。
选择方案二出行:
已选择交通方式,坐火车。
选择方案三出行:
已选择交通方式,坐飞机

在上述例子中,我们定义了三个具体的交通工具类(具体策略类),实现了抽象策略接口的getChoose方法。三种交通工具提供了三种不同的getChoose方法的实现,这三种不同的getChoose方法的就是一系列算法。 在环境类中,我们定义了抽象工具类的接口。最终再客户端选择需要的交通方式出行就能得到想要的策略方法。客户端只需要知道使用哪一个算法。使用策略模式,就可以切换算法和增加新的交通方式。

总而言之:
策略模式是一种行为型设计模式,它允许在运行时动态改变对象的行为。通过定义一系列可互换的算法,策略模式将算法与使用算法的客户端分离,从而提高代码的灵活性和可维护性。策略模式的核心在于将算法封装成独立的策略类,客户端则通过上下文类来调用这些策略。这种模式适用于多种算法或行为需要自由切换的场景,能有效减少条件语句的使用,简化单元测试。然而,它也可能增加对象的数量,且客户端需要了解不同策略的存在。总的来说,策略模式是一种强大且灵活的设计工具,有助于构建可扩展和可维护的软件系统。


以上代码下载请点击该链接:https://github.com/Yarrow052/Java-package.git

http://www.lakalapos1.cn/news/542/

相关文章:

  • 申请免费网站建设厦门百度seo排名
  • 网站加速器quickq买完域名后如何建设网站
  • 申请免费网站注册学网站平面设计
  • 东莞企业网站制作出售做交通锁具网站碟刹锁
  • 百度seo营销网站怎么知道网站程序是什么做的
  • 东莞网站排名优化报价甘肃网站建设方案服务至上
  • 自己怎样建企业网站网站前台和后台设计
  • 网站推广建设阶段八戒
  • 网站代码 输入文字 跳出内容四川华泰建设集团网站
  • 泉州网站制作案例余杭区网站建设设计公司
  • 番禺建设网站公司哪家好贵州省水利建设项目公示网站
  • 编辑网站在线注册系统北京网站建设好
  • 网站建设自助建站企业备份wordpress的文章
  • 汕头网站建设sthke网站规划说明书范文
  • 婚纱网站源码傻瓜式网站界面
  • 北京网站搭建服务青岛百度seo排名
  • 北京网站建设解决方案引擎网站推广法
  • 杭州网站设计推荐柚米销售手机网站的后期安排
  • 网站会员系统模板网站开发 技术投标
  • php网站开发基础教程江苏省城乡和建设厅网站
  • 网页设计与网站建设完全学习手册什么网站可以做平面赚钱
  • 临沧网站建设公司手机版 网站建设
  • 没有网站如何做SEO推广有用吗广西住房和城乡建设厅招聘
  • 备案时的网站名称哪家做网站的公司比较好
  • 怎么把网站关联到万网江西 商城网站开发
  • 网站出现 503怎么了sketch可以做网站交互么
  • 免费 建网站智慧团建网站密码格式
  • 网站收录更新网站制作 外包
  • cms建站模板下载怎样用模块做网站
  • 网站建设公司大概多少钱做网站的关键词