# Java策略模式简介
## 什么是策略模式?
策略模式是一种设计模式,它定义了一系列算法,并将每个算法封装在可互换的对象中。在使用策略模式时,可以根据需要选择不同的算法来完成相同的任务,而不必直接在代码中使用具体的算法。
策略模式使得算法可以独立于其使用者而变化。这种模式在开发中经常用于解决算法的复用和扩展问题。
## 为什么要使用策略模式?
在许多场景下,我们需要根据不同的条件选择            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-09-14 17:54:28
                            
                                81阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            什么是策略模式在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决:在有多种算法相似的情况下,使用 if.            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-07 07:11:55
                            
                                92阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式的结构策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,并将每一个算            
                
         
            
            
            
                    最近工作不是很多,正好抽出时间学习一下期待已经的设计模式,作为一名刚毕业一年的开发人员更应该多抽出些时间了解一下设计模式。    此片文章对策略模式做一个总结,希望对大家有帮助。    (题外话:策略模式之前只是看定义和一些简单的例子            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2015-11-13 18:08:25
                            
                                1224阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
            1.定义 :其思想是针对一组算法,将每一种算法都封装到具有共同接口的独立的类中,从而是它们可以相互替换。策略模式的最大特点是使得算法可以在不影响客户端的情况下发生变化,从而改变不同的功能。举列子: 我们就以Java中的TreeSet为例,TreeSet仅仅知道它只是接收一个Comparator这种接口类型,但是具体是哪种实现类,TreeSet并不关心,实现类在真正的传入TreeSet之前,Tree            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-06 23:18:01
                            
                                29阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            简介说明    本文用示例介绍策略模式的用法。场景    项目中经常会遇到if else 特别多的情况,比如前端传了一个type,不同type 数据处理的流程逻辑也不相同,正常情况我们会怎么做呢?就会像下面一样:if("aa".equals(type)){    // 相应的处理逻辑}else if("bb".equals(type)){            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-02-15 17:03:12
                            
                                190阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录1 介绍2 例子2.1 文件夹(文件)抽象父类2.2 添加一个接口适配器(可选)2.3 叶子节点的实现2.4 非叶子节点2.5 测试主类3 例子升华4 总结4.1 核心角色4.2 核心代码结构 1 介绍部分整体模式,是用于把一组相似的对象当作一个单一的对象。2 例子这样的情况非常使用于文件夹存放文件的情况,文件夹可以多级,如果为每级文件夹都定义一个类的话成本是非常高的。2.1 文件夹(文件)            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-09 00:06:18
                            
                                137阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录工厂模式是什么?简单工厂模式小案例提出问题:简单工厂模式,把简简单单的一个new,写的这么复杂,到底有什么好?总结一下简单工厂模式的缺点:代码工厂模式是什么?讲解工厂模式之前,我们先来了解一下工厂是干什么的。 简单来说,就是集中高效的生产商品。 也就是说,在编程中,工厂模式,就是效仿工厂,进行集中、高效实例化对象。(实例化就是生产商品) 简单工厂模式小案例首先,咱            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-12 15:41:02
                            
                                119阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在策略模式(Strategy Pattern)一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决:在有多种算法相似的情况下,使用 if...else 所带来            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-31 15:11:46
                            
                                53阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-10-11 15:56:00
                            
                                65阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            工厂模式主要负责将大量有共通接口的类实例化,工场模式有以下几种形态简单工厂(Simple Factory)   又称 静态工厂方法(Static Factory Method)工厂方法(Factory Method)   又称 多态性工厂(Polymorphic Factory)抽象工厂(Abstract Factory) 又称 工具箱(Kit or Too            
                
         
            
            
            
            组合模式  一、定义  二、结构  三、具体案例  四、适用性  五、总结 一、定义  将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和使用具有一致性。二、结构类图 角色:    1.Component 是组合中的对象声明接口,在适当的情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管Component  2.Leaf 在组合中表示叶子结点对象,叶子结点没            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-12 12:54:50
                            
                                222阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            概述 思考GC需要完成的3件事情:哪些内存需要回收?什么时候回收?如何回收? 再回头看看第二章介绍的Java内存运行时区域的各个部分:程序计时器、虚拟机栈、本地方法栈:随线程而灭,栈帧随方法而进行出栈和入栈,每一个栈帧分配的内存在类结构确定就已知,因此这几个区域不需要考虑回收;对于Java堆和方法区,只有程序运行期间才知道会创建哪些对象,内存的分配和回收都是动态的,垃圾收集器所关注的是这部分内存            
                
         
            
            
            
            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阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            单例模式保证一个类智能通有一个实例对象,并提供外部对他的全局访问点。单例模式可以提高性能减轻GC的压力,但是有可能会出现线程安全问题。在Spring中使用了ConcurrentHashMap单例注册表的特殊方式实现了单例模式。策略模式它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到算法的调用者,调用感知不到底层实现的变化。策略模式就是定义一个接口,让接口实现类去            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-20 09:17:52
                            
                                98阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录一. 工厂模式概要二.简单工厂模式三. 工厂模式 一. 工厂模式概要理解:用factory模式代替使用new创建对象,实现了创建者和调用者的分离,方便维护对象。实现方式:是面向接口编程主要遵循:开闭原则,对类可以扩展,但是不允许对类修改。 这原则核心思想,宁愿多创建几个类,也不要去修改已经写好的类,但如果是系统逻辑的错误,可以修改类。面向对象设计基本原则:原则说明 开闭原则软件实体应该是            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-19 00:29:51
                            
                                76阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,(这个类其实就是策略)从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,并将每            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-10 13:48:01
                            
                                116阅读