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

网站建设模块是什么意思WordPress图片类源码

网站建设模块是什么意思,WordPress图片类源码,在线做app的网站,个人网站认证策略模式的简介 在软件开发中,设计模式是为了解决常见问题而提供的一套可重用的解决方案。策略模式(Strategy Pattern)是其中一种常见的设计模式,它属于行为型模式。该模式的核心思想是将不同的算法封装成独立的策略类&#xff0c…

策略模式的简介

        在软件开发中,设计模式是为了解决常见问题而提供的一套可重用的解决方案。策略模式(Strategy Pattern)是其中一种常见的设计模式,它属于行为型模式。该模式的核心思想是将不同的算法封装成独立的策略类,使得它们可以相互替换,而不影响客户端的使用。

        策略模式与其他设计模式有一些明显的区别。与模板方法模式相比,策略模式强调算法的灵活性,允许在运行时切换不同的策略。与状态模式相比,策略模式更注重不同算法之间的替换性,而非状态的内部转换。

策略模式的结构

  • 抽象策略(Strategy)类:定义了一个公共接口,各种不同的算法以不同的方式实现这个接口,环境角色使用这个接口调用不同的算法,一般使用接口或抽象类实现。
  • 具体策略(Concrete Strategy)类:实现了抽象策略定义的接口,提供具体的算法实现。
  • 环境(Context)类:持有一个策略类的引用,最终给客户端调用

策略模式的优缺点

  优点:

  1. 算法可以自由切换。
  2. 避免使用多重条件判断。
  3. 扩展性良好

  缺点:

  1. 策略类会增多。
  2. 所有策略类都需要对外暴露。

策略模式的使用场景

        一个对象,其行为有些固定不变,有些又容易变化。对于这些容易变化的行为,我们不希望将其实现绑定在对象中,而希望能够动态地针对不同场景产生不同应对的策略。 这时就要用到策略模式,就是为了应对对象中复杂多变的行为而产生的:

  • 系统有很多类,而他们的区别仅在于行为不同
  • 一个系统需要动态地在几种算法中选择一种

直接代码理解

//抽象策略(Strategy)类
//创建购买汽车策略接口
public interface CarStrategy {public void buyCar();}//具体策略(Concrete Strategy)类
//创建购买奔驰车类,实现CarStrategy接口。
public class BcCar implements CarStrategy {@Overridepublic void buyCar() {System.out.println("欢迎购买奔驰E300L。。。。。。");}}//创建购买宝马车类,实现CarStrategy接口。
public class BmwCar implements CarStrategy {@Overridepublic void buyCar() {System.out.println("欢迎购买宝马530Li。。。。。。");}}//创建购买奥迪车类,实现CarStrategy接口。
public class AudiCar implements CarStrategy {@Overridepublic void buyCar() {System.out.println("欢迎购买奥迪A6L。。。。。。");}}
//环境(Context)类
//创建汽车环境类。
public class CarContext {private CarStrategy carStrategy;public CarContext(CarStrategy carStrategy){this.carStrategy = carStrategy;}public void buyCarStrategy(){carStrategy.buyCar();}}//Test@Testpublic void testStrategy(){// 宝马车CarContext bmwCarContext = new CarContext(new BmwCar());bmwCarContext1.buyCarStrategy();// 奔驰车CarContext bcCarContext = new CarContext(new BcCar());bcCarContext.buyCarStrategy();// 奥迪车CarContext audiCarContext = new CarContext(new AudiCar());audiCarContext.buyCarStrategy();}

我觉得这个模式比较好理解,也就是用来解决在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。

http://www.yayakq.cn/news/466587/

相关文章:

  • 网站开发的话术厦门网站建设手机
  • 企业免费网站推广公司qq在线登录聊天
  • 高端大气的的网站学校网络推广方案
  • 自己做网站最新视频教程江门做公司网站
  • 兴义网站seoui培训基地
  • 预付的网站开发费用怎么入账校园门户网站系统建设关键技术
  • 做网站看百度脸色新乐网站建设
  • 台州市建设工程质量检测中心网站视觉营销网站建设规划分析
  • 织梦cms网站模板网站建设艾瑞市场分析
  • 口碑好的宜昌网站建设有空间与域名 怎么做网站
  • 单页网站如何做国外互联网科技网站
  • 搭建广告网站费用网站设计在线crm系统
  • 建一个定制网站要多少钱wordpress 手机加载慢
  • 微网站什么意思语音app开发公司
  • 乐清市建设路小学网站广州大型网站设计公司
  • 网站百度地图代码在虚拟机中如何做二级域名网站
  • 太原百度网站快速优化做网站最主要是那个一类商标
  • 临沂网站开发多少钱怎么搭建免费网站
  • 网站开发主管岗位说明wordpress调用自定义类型文章
  • 怎么做网站搜索两耳清风怎么做网站
  • 技术支持 石家庄网站建设模版ppt
  • 网站建设网站制作价格外贸网站seo
  • 自建网站做外贸网站seo优化培训
  • 潍坊 网站企划服装店网页设计素材
  • 网站建设精英南宁区建设银行招聘网站
  • 做的比较好的货运网站河北企业建网站
  • 网站建设完工确认书wordpress 图片
  • 怎么在自己的网站上做漂浮链接网站建设公司名片
  • 惠州网站建设 英语6南山网站建设-信科网络
  • 陇城科技网站建设中国建设银行企业门户网站