`

简单工厂 和 策略模式的区别

 
阅读更多

简单工厂 和 策略模式很像,二者都是采用 处理类聚合抽象类(父类)的方法。二者的区别是(以下两句话很重要):

简单工厂是 采用静态的类方法,通过传入的参数,返回参数所指定的所需要的子类(实际上是返回的是父类引用(父类引用指向子类对象))。

策略模式是 通过处理类的构造方法以参数的形式传入子类对象,然后再在处理类中写一个函数用来封装父类和子类共有的处理方法(strategy.Algo())。

由此可见,策略模式封装的更好。用户只需使用 处理类的对象(传入子类的对象)就可以操作相应子类实现他们的处理。

分享到:
评论

相关推荐

    抽象工厂模式+工厂方法模式+策略模式+类图实现手机加工厂

    本文将探讨三个重要的设计模式:抽象工厂模式、工厂方法模式以及策略模式,并结合一个实际的场景——手机加工厂,来具体阐述它们的应用。 首先,我们来看**抽象工厂模式**。这个模式主要用于创建相关或依赖对象的...

    简单工厂模式VS策略模式小应用

    今天我们将探讨两种重要的设计模式:简单工厂模式和策略模式。这两种模式都是面向对象设计的核心概念,它们各自有着独特的优势和适用场景。 首先,我们来理解简单工厂模式。简单工厂模式是创建型设计模式的一种,它...

    工厂模式和策略模式

    在软件设计模式的世界里,"工厂模式"和"策略模式"是两种常用的设计模式,它们在构建可扩展和可维护的代码中起着至关重要的作用。让我们深入探讨这两种模式及其在实际开发中的应用。 首先,工厂模式是一种创建型设计...

    简单工厂模式和策略模式实现简单排序算法。

    在软件设计模式中,"简单工厂模式"和"策略模式"是两种常用的设计模式,它们在不同的场景下有着各自的优势。本篇文章将探讨如何利用这两种模式实现简单的排序算法,以提高代码的可读性和可扩展性。 首先,简单工厂...

    简单工厂模式、代理模式、策略模式如此相似

    在软件设计模式的世界里,"简单工厂模式"、"代理模式"和"策略模式"都是经典的设计模式,它们各自有着独特的应用场景和优缺点。本文将深入解析这三种模式的原理和区别,帮助读者理解它们在实际开发中的运用。 首先,...

    策略模式工厂方法模式观察者模式

    通过阅读这些学习资料,你将能更好地理解如何在实际项目中运用策略模式、工厂方法模式和观察者模式,提升自己的编程技能和设计能力。记住,设计模式是为了解决问题,而不是为了模式本身,所以理解其背后的意图和应用...

    Java策略模式的使用(枚举策略与简单工厂策略)

    后端同学在开发过程中,势必会遇到多条件判断的情况,大部分时候都会直接采用if-else的形式去处理,这样的操作会存在不易扩展的问题,那么...对比枚举策略与简单工厂+策略模式的不同使用,抛砖引玉,引发你更多的思考

    python 项目里常用的设计模式 组合模式 策略模式 抽象工厂 代理模式 工厂模式 观察者模式 简单工厂 建造者模式 模板模式

    python 项目里常用的设计模式 单例模式 组合模式 策略模式 抽象工厂 代理模式 工厂模式 观察者模式简单工厂 建造者模式 模板模式 桥接多维度 桥接模式 适配器模式 外观模式 享元模式 责任链组合模式

    PHP设计模式实例之(观察者模式、策略模式、简单工厂模式)借鉴.pdf

    PHP 设计模式实例之观察者模式、策略模式、简单工厂模式 PHP 设计模式实例之观察者模式、...观察者模式用于在对象之间定义一对多的依赖关系,策略模式用于定义一系列的算法,简单工厂模式用于提供一个创建对象的接口。

    设计模式之策略模式,商场收银,封装算法

    总结起来,策略模式和封装算法在商场收银场景中的结合,提供了灵活的折扣策略管理方式,使得系统能够根据业务需求快速适应变化,同时也降低了代码的复杂性和维护成本。通过实践和理解这种设计模式,开发者能够提升...

    工厂模式(简单工厂,普通工厂,抽象工厂)代码java

    在软件设计模式中,工厂模式是一种非常...在实际项目中,工厂模式经常与其他设计模式(如策略模式、建造者模式等)结合使用,以解决更复杂的问题。阅读并理解这些代码有助于深入理解工厂模式及其在Java编程中的应用。

    Java简单工厂模式和传统模式实现对比

    Java简单工厂模式是一种设计模式,它是创建型模式的一种,用于将对象的创建过程封装到一个独立的工厂类中,使得客户端代码无需关心具体的对象创建细节,只需要知道如何调用工厂方法即可得到所需的对象。这种模式在...

    简单工厂模式-策略模式-反射源码下载

    简单工厂模式、策略模式以及反射是Java编程中非常重要的概念,它们都是软件设计模式和语言特性的典型应用,对于理解和构建高效、可扩展的代码至关重要。 简单工厂模式是一种创建型设计模式,它提供一个工厂方法,...

    利用策略模式和简单工厂模式,实现商场收银软件。 营业员根据所购买商品的单价和数量,向客户收费

    在这个场景中,我们主要关注两种设计模式:策略模式和简单工厂模式。这两种模式都是面向对象设计的重要组成部分,它们在商场收银软件的实现中起到了关键作用。 策略模式允许我们定义一系列算法,并将每个算法封装...

    C# 策略结合简单工厂

    总结来说,C#中的策略模式和简单工厂模式相结合,可以提供一种优雅的方式来管理一系列算法,使得系统在面对需求变化时具有更好的适应性和可扩展性。这种模式尤其适合初学者了解和学习设计模式,有助于提升编程思维和...

    设计模式(策略与简单工厂结合_排序)手写代码

    本篇文章将聚焦于两种重要的设计模式——策略模式和简单工厂模式,并探讨如何将它们结合应用于排序算法的实现。 **策略模式**是一种行为设计模式,它使你能在运行时改变对象的行为。在策略模式中,一个类的行为或其...

    Spring下使用策略模式

    总结来说,Spring下的策略模式是实现灵活、可扩展性的关键,通过Bean工厂和依赖注入机制,我们可以轻松地在运行时切换策略,适应多变的需求。同时,结合源码学习能进一步提升对Spring框架的理解。

    单例、工厂、策略模式C++、qt

    例如,你可以使用单例模式管理Qt应用程序的全局设置,工厂模式用于动态创建和管理不同类型的设备(如device文件中可能包含的各种硬件设备),而策略模式则可用于处理设备的多种工作模式或策略。 通过这样的设计,你...

    php策略模式简单示例分析【区别于工厂模式】

    策略模式和工厂模式很像。 工厂模式:着眼于得到对象,并操作对象。 策略模式:着重得到对象某方法的运行结果。 示例: //实现一个简单的计算器 interface MathOp{ public function calculation($num1,$num2); } /...

    java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂

    在Java中,简单工厂模式、工厂方法模式和抽象工厂模式是三种常见的实现方式。简单工厂模式虽然简单易懂,但扩展性较差,因为它将所有产品类型硬编码在工厂类中。工厂方法模式通过定义创建对象的接口,让子类决定实例...

Global site tag (gtag.js) - Google Analytics