尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
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()); } }
RELATED

相关推荐

机场多源异构目标检测:从遥感图到地面监控的工程落地

机场多源异构目标检测:从遥感图到地面监控的工程落地

简介:本资源是一套专用于人工智能目标检测任务的机场遥感图像数据集,面向计算机视觉方向的研究者、算法工程师及高校相关专业学生,可支撑YOLO、Faster R-CNN等主流检测模型的训练与评估。数据集共1000张10241024彩色图像,全部为高…

📅 2026/9/24 20:10:46
CC Switch实战:统一管理AI编程工具的模型配置与API切换

CC Switch实战:统一管理AI编程工具的模型配置与API切换

最近几个月,我身边几乎所有写代码的朋友都在同一件事上反复折腾:装好了 Cursor、Trae、Codex 这些 AI 编程工具,却因为模型配置、API 管理、不同工具之间的端点切换,每天浪费大量时间。我也一样,直到用上 CC Switch&am…

📅 2026/9/24 20:10:46
Skill工程化:从能用提示词到设计稳定可复用的AI能力模块

Skill工程化:从能用提示词到设计稳定可复用的AI能力模块

写Skill这事儿,现在有点两极分化。拿Claude、Codex这类工具的人,要么是第一次见到SKILL.md不知道怎么用,要么是已经写了十几个但总觉得差点意思——模型经常不按套路出牌,指令一长就晕,换了场景就得重写。如果你刚好卡…

📅 2026/9/24 20:10:46
MORE NEWS

更多资讯

📰

YOLOV9安全帽与反光背心检测:数据集构建与训练全流程指南

简介:面向建筑工地、工厂车间等需要强制个人防护装备(PPE)的作业场景,这份数据集已对安全帽、安全服与反光背心完成 2000 多张图像的 YOLOv9 格式标注,可直接用于安全穿戴检测模型的训练与评估,也可迁移到其…

📰

DHCP服务器设计与实战:从IP分配到网络智能中枢

1. 什么是DHCP服务器:它不是“配IP的工具”,而是网络的呼吸中枢很多人第一次听说DHCP服务器,脑子里浮现的是“自动给电脑发IP地址的那个东西”。这没错,但太轻描淡写了——就像说心脏只是“泵血的肌肉”,忽略了它每分钟…

📰

Zed AI代理驾驶舱实测:从Redux到Zustand的智能重构实践

过去两年我几乎把主流编辑器的AI能力都折腾了一遍,从Copilot到各种IDE插件,但真正让我觉得“AI开始像个同事而不是打字机”的,是Zed编辑器在2026年初落地的这套Agent能力。我花了两周时间,用它把一个中型React项目的状态管理从Red…

📰

Python GIL深度解析:全局解释器锁的原理、影响与绕开方案

面试的时候被问到“Python的GIL是什么”,很多人的第一反应是:“全局解释器锁,多线程没法利用多核。”这个回答不能说错,但它就像把一座冰山描述成“水面上那块白色物体”。GIL背后牵扯到CPython的内存管理模型、垃圾回收机制、多线…

📰

Cline 接入 Agnes AI 完整教程:从密钥配置到参数调优

最近我一直在折腾 AI 编码助手的接入方案,之前一直用各家编辑器自带的默认模型,总觉得差点意思。直到我把 Cline 接到了 Agnes AI 模型上,完整跑通了账号申请、密钥配置、参数调试这一条链路,才发现原来换一个模型服务对日常写代码…

📰

AI工程全景地图:从模型到系统落地,六大能力域与工程实践解析

去年我在一个制造业客户的会议室里,听他们IT负责人讲了一个特别典型的事:算法团队花三个月训练了一个设备故障预测模型,准确率看着不错,但真到了产线上,数据接入要重新写管道,特征口径跟早会报表对不上&…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬