`

策略设计模式

阅读更多
策略设计模式:

      概念:定义了算法簇,分别封装起来,让他们之间可以相互替换。此模式让算法的变化独立于使用算法的客户。


      个人理解:策略设计模式即是用接口+组合的方式分离实现。伪代码如下:

  
public abstract class StrategyPatternDuck {
	
	
	private Cry cry; //接口实现叫这个行为
	private Fly fly; //接口实现飞这个行为
	
	
	
	public StrategyPatternDuck(Cry cry, Fly fly) {
		//通过构造函数注入
		this.cry = cry;
		this.fly = fly;
	}

	private void cry(){
		//叫 具体怎么叫 看怎么实现的Cry接口中的cry方法。
		cry.cry();
	}
	
	private void fly(){
		//飞 具体怎么飞 看怎么实现的Cry接口中的cry方法
		fly.fly();
	}
	//具体外观是什么样由子类实现
	public abstract void display();
	//通过setter方法注入
	public void setCry(Cry cry) {
		this.cry = cry;
	}
	//通过setter方法注入
	public void setFly(Fly fly) {
		this.fly = fly;
	}
	
}


Cry和Fly都是接口分离了行为,然后利用组合达到复用的目的。这就是策略模式。





  • 大小: 27.3 KB
分享到:
评论

相关推荐

    策略设计模式简单代码实现

    策略设计模式是软件工程中的一种行为设计模式,它使你能在运行时改变对象的行为。在策略模式中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为模式。 在策略模式中,我们创建表示各种策略的...

    策略设计模式_构建公共通用的Dao

    标题中的“策略设计模式_构建公共通用的Dao”指出,我们即将探讨的是如何利用策略设计模式来构建一个可复用的、通用的数据访问对象(DAO)层。在软件开发中,DAO层通常负责与数据库进行交互,执行增删改查等操作。...

    Head first C++策略设计模式

    在这个特定的压缩包中,我们关注的是“策略设计模式”的实现。策略设计模式是一种行为设计模式,它允许在运行时动态地改变对象的行为。 策略模式的核心思想是将算法族封装到各自独立的类中,使得它们可以互换使用。...

    loki 库 源码 策略设计模式

    《洛基库(Loki)源码解析:策略设计模式的深度探究》 洛基库(Loki)是一个由C++编程语言实现的开源库,它以其强大的模板设计能力而闻名,尤其在策略设计模式的应用上表现突出。该库不仅为开发者提供了多种实用的...

    基于C#.NET异步图形验证码识别组件(集成了若快、优优云、打码兔、云打码等平台,准确率95%,速度2-6秒)采用策略设计模式

    【作品名称】:基于C#.NET异步图形验证码识别组件(集成了若快、优优云、打码兔、云打码等平台,准确率95%,速度2-6秒)采用策略设计模式 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设...

    springmvc +mybatis采用策略设计模式基于拦截器实现按年分表

    本项目将这两种技术结合,并利用策略设计模式和拦截器来实现一个按年份划分的数据库分表策略。下面将详细阐述这个项目中的核心知识点。 1. **SpringMVC**: SpringMVC是Spring框架的一部分,它是一个模型-视图-...

    Java 设计模式 策略模式

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在Java中,策略模式主要通过定义一系列的算法,并将每一个算法封装起来,使它们可以互相替换,让算法独立于使用它的客户而变化。 首先,策略模式的...

    设计模式之策略模式 鸭子问题

    设计模式之策略模式 鸭子问题 策略模式是一种经典的设计模式,通过鸭子问题,可以让学习者更好地了解设计模式的概念和实现。策略模式的主要思想是定义一系列的算法,并将每一个算法封装起来,使它们可以相互替换。...

    php设计模式案例详解

    21. **策略设计模式**:定义一系列的算法,并将每一个算法封装起来,使得它们可以互相替换。策略模式让算法的变化独立于使用算法的客户。 以上就是PHP设计模式的一些核心概念和应用场景,每个模式都有其独特的优点...

    设计模式之策略模式

    设计模式中的策略模式。根据《设计模式》一书编写

    Java 经典设计模式讲解以及项目实战

    Java 经典设计模式讲解以及项目实战 设计模式简介:主要介绍各种设计模式的概念和运用场景等 设计模式综合运用:主要是笔者在实际工作中运用到的一些设计模式综合运用事例的提炼 Spring设计模式简介:主要是讲述...

    设计模式-策略者

    "策略者"(Strategy)设计模式是其中的一种行为模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。这种模式让算法的变化独立于使用算法的客户。 在《设计模式-策略者》这篇文章中,作者深入浅...

    GuitarHero:策略设计模式演示

    《策略设计模式在Java编程中的应用——以"吉他英雄"为例》 策略设计模式是一种行为设计模式,它使你能在运行时改变对象的行为。在Java编程中,这种模式的应用广泛且强大,尤其在处理需要动态变化算法或者行为的场景...

    设计模式--策略模式java例子

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在Java中,策略模式通常用于替换硬编码的条件语句,使代码更加灵活、可扩展和易于维护。下面我们将详细探讨策略模式的核心概念、实现方式以及在实际...

    Learning+PHP设计模式

    通过学习如何在代码中使用设计模式,可以更高效地构建服务器端应用,在这个过程中,你的PHP编程水平也将逐步提高。...第12章 策略设计模式的灵活性 第13章 职责链设计模式 第14章 利用观察者模式构建多设备CMS

    delphi xe7 下实现的策略模式例子

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在 Delphi XE7 中实现策略模式,我们可以理解为动态地将算法族封装到各自独立的类中,使得它们可以互相替换。这种模式让算法的变化独立于使用算法的...

Global site tag (gtag.js) - Google Analytics