# Java策略模式详解
## 引言
在软件开发中,我们经常会遇到需要根据不同情况选择不同的执行策略的情况。为了更好地解决这种问题,我们可以使用策略模式。本文将详细介绍Java策略模式的实现过程。
## 策略模式概述
策略模式是一种行为型设计模式,它可以定义一系列的算法,将每个算法封装起来,并且使它们可以相互替换。这样,调用方可以根据需要选择不同的算法来执行不同的任务。
在策略模式中,主            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-01-13 06:20:57
                            
                                18阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            策略模式灵活性高:可以轻松地添加新策略,扩展性好。职责清晰:将算法逻辑封装在独立的策略类中,简化了上下文的代码。场景适配            
                
         
            
            
            
            策略模式(Strategy Pattern)定义了一组同类型的算法,在不同的类中封装起来,每种算法可以根据当前场景相互替换,从而使算法的变化独立于使用它们的客户端(即算法的调用者)。《GoF 设计模式》书中,它是这样定义的:Define a family of algorithms, encapsulate each one, and make them interchangeable. Stra            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-03-14 09:07:55
                            
                                200阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            上一次我们聊了简单工厂模式,让大家了解到了如何使程序具备更高的解耦性,使每一个功能代码都独立出来,今天我们和大家聊一下另一种解耦的设计模式,它就是策略设计模式。什么是策略设计模式:它定义了算法家族,分别封装起来,让他们之间可以项目替换,此模式让算法的变化,不会影响到算法的客户。我们可以这样理解,工厂模式是让我们内部的构造变得高内聚低耦合,而策略模式是让我们的内部代码和外部客户端代码不直接进行联系,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-14 04:37:43
                            
                                183阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            下面讲解策略模式: 
策略模式(Strategy Pattern)中体现了两个非常基本的面向面向对象涉及的原则: 
--封装变化的概念 
--编程中使用接口,而不是对接口的实现 
策略模式的定义: 
--定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。 
--策略模式使这些算法在客户端调用它们的时候能够互不影响地变化 
策略模式的组成: 
--            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-21 11:52:42
                            
                                86阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                    哎,曾几何时想当年,其实我也特别钟情于 if/else连环写法,上来就是一顿SAO操作,比如举个好理解的简单栗子:一般来说我们正常的后台管理系统都有所谓的角色的概念,不同管理员权限不一样,能够行使的操作也不一样,比如:系统管理员( ROLE_ROOT_ADMIN):有 A操作权限订单管理员( ROLE_ORDER_ADMIN):有 B操作权限普通用户( ROLE_NORMAL):有            
                
         
            
            
            
            策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-02-01 09:43:31
                            
                                53阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 主要解决:在有多种算法相似的情况下行的出游方...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-07-10 10:19:23
                            
                                68阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            简介说明    本文用示例介绍策略模式的用法。场景    项目中经常会遇到if else 特别多的情况,比如前端传了一个type,不同type 数据处理的流程逻辑也不相同,正常情况我们会怎么做呢?就会像下面一样:if("aa".equals(type)){    // 相应的处理逻辑}else if("bb".equals(type)){            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-02-15 17:03:12
                            
                                190阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录策略模式的定义演示范例1——计算薪资演示范例2——表单校验策略模式的定义策略模式就是将一系列算法封装起来,并使它们相互之间可以替换。优点            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-12 17:15:37
                            
                                87阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在讲策略模式之前,我们先看一个日常生活中的小例子:现实生活中我们到商场买东西的时候,卖场往往根据不同的客户制定不同的报价策略,比            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-06-02 00:49:28
                            
                                86阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            attern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。场景场景1:假设现在要设计一个购物车系统,一个最简单的情况就是把所有货品的单价乘上数量,但是实际情况肯定比这个复杂。例如:对普通会员无折扣,对中级会员提供8折优惠,对高级会员提供7折优惠。场景2:例如:一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-11-21 08:51:32
                            
                                90阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、什么是策略模式  策略这个词应该怎么理解,打个比方说,我们出门的时候会选择不同的出行方式,比如骑自行车、坐公交、坐火车、坐飞机、坐火箭等等,这些出行方式,每一种都是一个策略。  再比如我们去逛商场,商场现在正在搞活动,有打折的、有满减的、有返利的等等,其实不管商场如何进行促销,说到底都是一些算法,这些算法本身只是一种策略,并且这些算法是随时都可能互相替换的,比如针对同一件商品,今天打八折、明天            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-08 17:21:58
                            
                                37阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一.什么是工厂模式?工厂模式分为三种:简单工厂模式(静态工厂模式),工厂方法模式,抽象工厂模式。二.工厂模式的应用场景是什么?工厂模式目的是为了满足单一职责原则和开闭原则而将对象的创建和使用进行分离。是一种很常见的架构模式。三.工厂模式结构图简单工厂模式工厂方法模式抽象工厂模式四.各类工厂模式的优缺点简单工厂模式1.优点① 实现了对象创建和使用的分离。② 客户端无需知道所要创建产品的类名,只需要知            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-18 10:46:50
                            
                                47阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            tags: [#设计模式,,#策略模式,#命令模式,#代理模式] 前言 今天我们主要来看三种设计模式,他们分别是命令模式、代理模式和策略模式。废话少说,下面我们直接开始吧! 设计模式 命令模式 命令模式简单来说,就是将一组操作整合成一个通用的命令,然后通过一个通用的执行器来执行的一种设计模式,这种设 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-10-15 22:04:00
                            
                                159阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            设计模式(11)-策略模式详解(易懂)安卓干货铺专注Android技术,坚持原创+博文分享关注策略模式的定义策略模式比较简单,是指对一系列的算法定义,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。模型:Context:上下文角色,起到封装的作用,持有一个Strategy对象的引用Strategy:策略角色(抽象)  通常为接口ConcreteStra            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2020-12-24 16:09:23
                            
                                199阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Java学习视频系列,讲到集合类,然后就专门讲了策略模式。
    策略模式Strategy Pattern  在Java的集合框架中,经常需要通过构造方法传入一个比较器Comparator,或者创建比较器传入Collections的静态方法中作为方法参数,进行比较排序等,使用的是策略模式。策略模式的定义  定义一组算法,将每个算法都封装起来,并且使它们之间可以            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-01 00:01:00
                            
                                253阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.策略模式策略模式是对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。2.策略模式的结构参与角色:Context:环境角色,持有一个引用,并给客户端提供一个方法,调用策略。Strategy:抽象策略角色,定义所有策略算法的公共接口,给Context调用提供一个统一的接口。Strategy            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-04 08:54:18
                            
                                136阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            简介策略模式是属于行为模式的,在策略模式中,一个类的行为或算法可以在运行时更改。其思想是针对一组算法,将每一种算法都封装到具有共同接口的独立的类中,从而是它们可以相互替换。策略模式的最大特点是使得算法可以在不影响客户端的情况下发生变化,从而改变不同的功能。优点算法可以自由切换避免使用多重判断条件扩展性良好缺点策略类会增多所有策略类都需要对外暴露使用场景使用在一个系统里面有许多类,它们之间的区别仅在            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-18 00:07:09
                            
                                82阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-19 09:53:57
                            
                                114阅读