96SEO 2026-02-20 05:45 21
简单工厂模式相对来说#xff0c;在四人组写的《设计模式------可复用面…一、工厂模式分类

工厂模式属于创建型模式一般可以细分为简单工厂模式、工厂模式和抽象工厂模式。
每种都有不同的特色和应用场景。
简单工厂模式相对来说在四人组写的《设计模式------可复用面向对象软件的基础》中并没有提及所以可以认为这并不算是一个标准的设计模式但因为其场景较多所以这里简单介绍下。
有的人认为可以看做一种编程收发或者编程技巧。
attack):m_life(life),m_magic(magic),m_attack(attack){}
simobj.createMonster(Undead_Type);
simobj.createMonster(Element_Type);
simobj.createMonster(Mechanic_Type);
总结通过工厂类来创建怪物则意味着创建怪物时不再使用new关键字而是通过该工厂类来进行这样的话即便将来拐歪种类增加main主函数中创建怪物的代码也可以尽量保持稳定。
同时也避免了在main函数中直接使用new创建对象时必须知道具体类名的情形发生实现了创建怪物的代码与各个具体怪物类对象要实现的业务逻辑的代码隔离。
当然此模式也具有明显的缺点当引入新的怪物类型时需要修改createMonster成员函数的源码来增加if判断分支从而支持对新类型怪物的创建工作这就违反了开放封闭原则。
如果if分支不是很多只有数个而并不是数十上百个那适当违反开闭原则也可以接收的。
工厂模式通常也是指得是工厂方法模式换句话说工厂方法模式可以简称工厂模式或多态工厂模式此种模式实现难度比简单工厂模式略高一些。
需要针对每种类型的怪物都需要创建一个对应的工厂类它通过增加新的工厂类来符合面向对象程序设计的开闭原则但付出的代价是需要增加多个新的工厂类。
总结从上述代码中可以看到创建怪物对象时不需要记住具体怪物类的名称但需要知道创建该类怪物的工厂名称。
工厂模式的实现意图是定义一个用于创建对象的接口但由子类决定要实例化的类是哪一个该模式是的某个类的实例化延迟到子类。
它当出现一个新怪物类型时既不需要更改Gbl_CreateMonster函数也不需要像简单工厂模式那样修改MonsterFactory类中的createMonster成员函数来增加新的if分支。
随着业务的变化游戏中的战斗场景数量和类型不断增加从原来的在城镇中战斗逐步进入在沼泽战斗、在山脉地区战斗等于是场景将重新分类怪物分为3类战斗场景3类这样会产生9类怪物。
如果一个工厂子类能够生产不止一种具有相同规则的怪物对象那么就可以有效地减少所创建的工厂子类数量这就是抽象工厂模式的核心思想。
抽象工厂模式是按照产品族来生产产品一个地点有一个工厂该工厂负责生产本地的所有产品。
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------
总结抽象工厂模式通过增加新代码不是修改原有代码来为游戏增加新功能。
如果需要需要产品族还需要修改工厂父类来增加新的虚函数以支持新类型各个工厂有需要增加对新类型的支持那么这种情况下破坏了开闭原则同时也不适用抽象工厂模式。
抽象工厂模式具备工厂模式的优点如果只是增加新的产品族则只需要增加新的子工厂类符合开闭原则这是抽象工厂模式优点但是如果增加新的产品等级结构那么就需要修改抽象层的代码这是抽象工厂模式的缺点因此应该避免在产品等级结构不稳定的情况下使用该模式。
引入抽象工厂模式实现意图是提供一个接口让该接口负责创建一系列相关或者相互依赖的对象而无需制定它们的具体类。
1从代码实现复杂度上简单工厂模式最简单工厂方法模式次之抽象工厂模式最复杂。
把简单工厂模式中的代码修改得符合开闭原则就变成了工厂方法模式修改工厂方法模式的代码是一个工厂支持对多个具体产品的生产就变成了抽象工厂模式。
2从需要的工厂数量上简单工厂模式需要的工厂数量最少工厂方法模式需要的工厂数量最多抽象工厂模式能够有效地减少工厂方法模式所需要的工厂数量。
3从实际应用上当项目中的产品数量较少时考虑使用简单工厂模式如果项目稍大一点或者为了满足开闭原则则可以使用工厂方法模式而对于大型项目中有众多厂商并且每个厂商都生产一系列产品时应考虑使用抽象工厂模式。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback