`

Strategy 设计模式

阅读更多

Strategy模式:来对轮胎的样式进行不同的替换,可以替换成短轮胎痕迹的汽车轮胎,这样在不更改Car类的前题下进行了不同轮胎样式的改变,轮胎和轮胎之间可以互相替换,这就是策略模式。

 

 

public class Car {
    private LunTai tyre_interface_ref;// 轮胎的样式 ,可以设置各种各样的样式
   
    public LunTai getTyre_interface_ref() {
        return tyre_interface_ref;
    }
    public void setTyre_interface_ref(LunTai tyre_interface_ref) {
        this.tyre_interface_ref = tyre_interface_ref;
    }
    public void start() {
        System.out.println("Car 起动了!");

        System.out.println("Car高速行驶,遇到一个大转弯,路面显示:");
        this.getTyre_interface_ref().print_tyre_line();
    }
}

 

public interface LunTai {
    public void print_tyre_line();// 显示出轮胎的痕迹
}

 

public class LongLunTai implements LunTai{
    public void print_tyre_line() {
        System.out.println("在路面上显示一个长轮胎痕迹");
    }
}

 

public class ShortLunTai implements LunTai {
    public void print_tyre_line() {
        System.out.println("在路面上显示一个短轮胎痕迹");
    }
}

 

public class Test {
    public static void main(String[] args) {
        LongLunTai tyre_long_implement = new LongLunTai();
        ShortLunTai tyre_short_implement = new ShortLunTai();
        Car car = new Car();
        car.setTyre_interface_ref(tyre_short_implement);
        car.start();
    }
}

 

 

 

 

 

分享到:
评论

相关推荐

    Strategy设计模式范例

    Strategy设计模式是一种行为设计模式,它使你能在运行时改变对象的行为。在软件工程中,我们经常遇到需要根据不同的情况选择不同算法或策略的情况。Strategy模式提供了一种将算法族封装到各自独立的对象中,使得它们...

    一个strategy模式的例子.rar_strategy_设计模式

    在“一个strategy模式的例子.rar_strategy_设计模式”这个压缩包中,包含了两个关键文件,一个是“www.pudn.com.txt”,可能是相关资料链接或介绍,另一个是“strategy”,可能是一个具体的策略模式实现代码。...

    走进设计模式之 策略模式(Strategy)

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在软件设计中,有时我们需要根据不同的场景或条件选择不同的算法或行为。策略模式允许我们将这些算法封装成独立的类,每个类代表一种策略,然后在运行...

    Strategy设计模式在地址定位算法中的应用 (2009年)

    GOF设计模式是软件开发过程中特定环境下...利用GOF中的Strategy设计模式设计不同的算法,来实现地址定位的基本功能,这不仅能使代码模块化,增强代码的可复用性,从而大幅度地减少了系统的维护成本,提高了算法运行的效率。

    人人都懂设计模式 人人都懂设计模式

    人人都懂设计模式 设计模式是软件开发中的一种解决方案,它提供了一种通用的设计思想和方法论,可以帮助开发者更好地设计和实现软件系统。设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。 在本书中...

    设计模式-Strategy模式

    Strategy模式是一种行为设计模式,它使你能在运行时改变对象的行为。这种模式的核心思想是将算法族封装在独立的对象中,使得它们可以互换使用,让算法的变化独立于使用算法的客户。 在上述的国际电子商务系统案例中...

    24种设计模式以及混合设计模式

    设计模式是软件工程中的一种重要思想,它是在特定情境下,为解决常见问题而形成的一套最佳实践。在本文中,我们将深入探讨24种设计模式,并结合混合设计模式的概念,以及它们在实际项目中的应用案例。 首先,设计...

    策略(strategy)模式

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

    设计模式之策略(Strategy)模式

    这份文档讲诉了设计模式之策略(Strategy)模式,希望可以帮助学习的人!

    Java设计模式 设计模式介绍

    2、爪哇语言抽象工厂创立性模式介绍 3、工厂方法创立性模式介绍 4、单态创立性模式介绍 5、单态创立性模式介绍 6、观察者模式介绍7、责任链模式 8、设计模式之Observer 9、设计模式之Strategy(策略) 10、设计模式之...

    JAVA设计模式chm文档

    创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder 设计模式之Singleton(单态) ...设计模式之Strategy(策略) 设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor

    设计模式Strategy模式

    Strategy模式封装算法。如果有多个算法可以互换使用,Strategy比较合适。 Bridge模式是对抽象和具体的进一步抽象。

    C#面向对象设计模式纵横谈(23):(行为型模式) Strategy 策略模式

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在C#中,策略模式经常被用来解决复杂的问题,特别是在需要动态切换算法或行为的场景下。它通过将算法封装到具有独立接口的类中,使得算法可以互相替换...

    设计模式之蝉

    除了创建型模式,内容中还提到了“策略模式”(Strategy pattern),属于行为型设计模式。它定义了算法族,分别封装起来,使它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。在内容中提到的“我可以...

    (行为型模式) Strategy 策略模式

    C#面向对象设计模式 (行为型模式) Strategy 策略模式 视频讲座下载

    设计模式精解-GoF 23 种设计模式解析附 C++实现源码 单最常用的设计模式入门,比如AbstractFactory模式、Adapater模式、Composite模式、Decorator模式、Factory模式、Observer模式、Strategy模式、Template模式等

    设计模式体现的是一种思想,而思想则是指导行为的一切,理解和掌握了设计模式,并不是说记住了23种(或更多)设计场景和解决策略(实际上这也是很重要的一笔财富),实际接受的是一种思想的熏陶和洗礼,等这种思想...

    设计模式之Strategy模式和代码实现

    Strategy模式是一种设计模式,主要目的是为了在运行时动态地改变对象的行为。在本文中,我们将通过一个奇幻角色扮演游戏(RPG)的例子来解释这个模式,以便更好地理解其工作原理。 在RPG游戏中,我们有四种角色:...

    设计模式培训-strategy

    ### 设计模式培训-strategy #### 一、设计模式概览 设计模式是软件工程领域的一个重要概念,它提供了一套解决常见问题的有效方法。在软件开发的过程中,开发者经常会遇到相似的问题,这些问题往往有着类似的解决...

    给jdk写注释系列之jdk1.6容器(9)Strategy

    【描述】:“给jdk写注释系列之jdk1.6容器(9)Strategy设计模式之Comparable共14页.pdf.zip” 这是一份14页的PDF文档,属于一个系列教程的一部分,专门讲解如何为JDK 1.6的容器类添加注释,并探讨了如何在这些容器中...

Global site tag (gtag.js) - Google Analytics