原文:Python设计模式——工厂方法模式(FactoryMethod)

需求:有一个学雷锋活动,有买米和扫地两个内容,参与的人有大学生和社区志愿者,他们各自的方法不一样。 如果用简单工厂模式实现: 写一个雷锋类,定义买米和扫地两个方法,写一个学生类和社区志愿者类,继承雷锋类,写一个工厂类,根据输入的类型返回学生类或志愿者类。 用工厂方法模式实现: 雷锋类,大学生类,志愿者类和简单工厂一样,新写一个工厂方法基类,定义一个工厂方法接口 工厂方法模式的工厂方法应该就是指这个 ...

2014-07-30 20:31 0 8218 推荐指数:

查看详情

设计模式工厂方法(FactoryMethod)模式

  在五大设计原则的基础上经过GOF(四人组)的总结,得出了23种经典设计模式,其中分为三大类:创建型(5种)、结构型(7种)、行为型(11种)。今天对创建型中的工厂方法(FactoryMethod)模式的思想进行了一下复习和实践,在此也做一下记录。同样,理解或实践不到位的地方,希望走过路过的看官 ...

Sun Jan 13 01:04:00 CST 2019 1 569
设计模式之—工厂方法模式

1.工厂方法模式定义 2.通用实现方式 工厂方式通用实现方式类图如下: 其中Product定义了产品的共性,是对事物的抽象,Creator为抽象创建类,即抽象工厂,具体如何创建实例由实现类决定。代码如下所示: Product类: Creator类: 具体的实现类 ...

Sun Aug 26 07:32:00 CST 2018 0 9401
设计模式工厂方法模式

之前写了 设计模式系列目录 今天说一下工厂方法模式: 定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类 所谓的决定并不是批模式允许子类本身在运行时做决定,而是指在编写创建者类时,不需知道创建的产品是哪一下,选择了使用 哪个子类,就决定了实际创建 ...

Sun Feb 17 19:04:00 CST 2013 3 29075
设计模式工厂方法模式

使用频率:★★★★★ 一、什么是工厂方法 具体的工厂对象负责生产具体的产品对象; 二、补充说明 符合开放--封闭"原则(OCP),新增产品时,只需新增工厂的实现类、产品的实现类,不修改原来的代码; 属于23种GOF设计模式中的一种; 三、角色 抽象工厂 具体工厂 抽象 ...

Tue Jan 19 18:26:00 CST 2016 0 4818
设计模式——工厂方法模式

目录 1. 简介 2. 示例1-计算器重构 2.1 背景说明 2.2 代码重构 2.3 程序类图 3. 示例2-模拟多功能日记记 ...

Sat Apr 04 06:30:00 CST 2020 0 697
设计模式工厂方法模式

  工厂模式属于创建型设计模式,它提供了一种创建对象的最佳方式。   定义:定义了一个创建产品对象的工厂接口,将实际创建工作推迟到子类工厂当中。   问题描述:简单工厂模式中,只要添加新的产品类,就得去修改工厂类,这样做势必违反了开闭原则。   解决方案:新增抽象工厂类,让抽象产品对应抽象 ...

Tue Apr 11 00:28:00 CST 2017 0 12710
设计模式-工厂方法模式

前言 点击查看:设计模式系列 如果你对工厂模式这个概念不是很理解,建议:设计模式-简单工厂模式 如果你对.net反射机制不了解,建议:.net反射详解 工厂方法模式 描述一下工厂方法的概要:简单工厂模式是要在工厂类中通过数据来做个决策,在工厂类中的多个类中实例化出来其中一个要用 ...

Tue Aug 19 00:29:00 CST 2014 0 5289
大话设计模式Python实现-工厂方法模式

工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延时到其子类. 上面类的设计如下图: 创建一个抽象工厂类CreateLeiFeng和一个抽象对象类LeiFeng,当创建具体 ...

Fri Nov 03 22:11:00 CST 2017 2 3249
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM