尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

23中GOF设计模式之工厂方法模式

发布时间:2026/9/24 20:15:53

资讯中心
01
ARTICLE

23中GOF设计模式之工厂方法模式

23中GOF设计模式之工厂方法模式
工厂方法模式抽象创建者 多个具体创建者子类工厂加产品新建子类不改老代码。抽象创建者作为各个子类工厂的父类负责提供通用容器逻辑预留抽象工厂方法作为子类的模版。子类工厂重写工厂方法创建属于自己的同类型产品各个建立者之间相互独立互不干扰。新增一套产品组合只新增一个子类即可原有代码不动。举例游戏技能书。抽象创建者 SkillBook 提供技能书模板技能列表容器子类创建者FireSkillBook、IceSkillBook重写工厂方法向列表填充技能。A 技能书技能 1、2、3B 技能书技能 1、3、4两套互相独立不会互相影响。新增一种技能书新建一个 SkillBook 子类即可。using NUnit.Framework; using System.Collections.Generic; using UnityEngine; public class FactoryMethodPatternExample3 : MonoBehaviour { // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { SkillBookFactory[] skillBookFactories new SkillBookFactory[3] { new FireSkillBookFactory(), new LightningSkillBookFactory(), new RandomSkillBookFactory() }; foreach (var skillBookFactory in skillBookFactories) { Debug.Log($Skill Book Factory: {skillBookFactory.GetType().Name}); foreach (var skill in skillBookFactory.Skills) { Debug.Log($Skill: {skill.GetType().Name}); } } } // Update is called once per frame void Update() { } } abstract class Skill { } class FireBall : Skill { } class FireStorm : Skill { } class FireWall : Skill { } class LightningBolt : Skill { } class LightningStorm : Skill { } abstract class SkillBookFactory { ListSkill _skills new ListSkill(); public ListSkill Skills { get { return _skills; } } public abstract void CreateSkills(); public SkillBookFactory() { CreateSkills(); } } class FireSkillBookFactory : SkillBookFactory { public override void CreateSkills() { Skills.Add(new FireBall()); Skills.Add(new FireStorm()); Skills.Add(new FireWall()); } } class LightningSkillBookFactory : SkillBookFactory { public override void CreateSkills() { Skills.Add(new LightningBolt()); Skills.Add(new LightningStorm()); } } class RandomSkillBookFactory : SkillBookFactory { public override void CreateSkills() { Skills.Add(new FireBall()); Skills.Add(new LightningBolt()); } }
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。