`

从战神金刚看组合模式

阅读更多

    相信不少人小时候都喜欢倒腾机器人或者四驱车之类的玩具。在我们这一辈的儿时,所有对此类玩具的印象来自于电视机。其实代表机器人的名作有很多,最出名的的是变形金刚这部经典。其实除了变形金刚还有一句台词相信能唤起我们儿时的回忆,那就是:我来组成头部!

    没错,如果你跟我生活在相同的年代,你就会认出这是战神金刚第一部的台词!下面这副图是否能唤起你的回忆:)
   

 
 
    今天要讲的主题就和上面的图片息息相关。我想先来介绍一下战神金刚的构造。^^在正常状态下,战神金刚是拆分成了15个不同的小机器人存在的。这15个小机器人有可以在天空飞行的飞机机器人,也有在水路航行的轮船机器人,更有在陆地上开的小车机器人。总之是,海陆空齐全。
    在执行一些特殊任务的时候,小机器人可以部分组成一个机器人合体,如下图所示,下图组成了三个中型的机器人合体,分别是海陆空三队。


 
   如果碰到一些非常BT的boss,中型机器人合体搞不定的时候,战神金刚的表演时间就到了。没错!15个小机器会全体组合成战神金刚,进入表演时刻,神挡杀神。如下图


 
    介绍了这么多,是该进入主题的时候了。那么,我们如何用面向对象的方式来描述战神金刚呢。
    如果不使用任何设计模式,按照我的思维逻辑,结构大概会是下图这个样子
    

 
    使用组合模式后,结构如下图所示
    
 
    从上图看出使用组合模式的最大不同就是抽象了机器人合体这个class。并且把装入机器人和弹出机器人方法剥离到这个class中
    这样如果以后有新的合体类型,比如混合战队,直接继承机器人合体即可,非常利于扩展。
 
    另外,还有一个额外的好处,机器人合体和小机器人都属于机器人,这样的话,对于使用者来说,会非常方便。
    关于如何用代码实现组合模式,网上有很多文章,使了用各种语言,不管是C++,C#,Java还是动态语言来说明和讲解。都讲的很多,这里就不再重复。
    

    最后来总结一下组合模式的优点:

    1、组合模式定义了组合(合体)的概念,将组合所需要的相关方法单独抽象,利于扩展。

    2、将组合(合体)与个体同等对待,会非常便于使用者使用。

 

      版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 大小: 23.6 KB
  • 大小: 15.5 KB
  • 大小: 11 KB
  • 大小: 57.1 KB
  • 大小: 22.6 KB
  • 大小: 29.8 KB
分享到:
评论

相关推荐

    战神引擎176纯净端.zip

    它具有高度可定制性,支持多种游戏模式和功能,如角色创建、地图编辑、物品管理等,使得开发者能够轻松创建自己的游戏世界。 2. **176版本**:176是传奇游戏中的一个经典版本,被誉为“传奇”的黄金时代。这个版本...

    战神引擎开发手册.chm

    战神引擎开发手册.chm

    斗战神采集辅助源码

    斗战神采集辅助源码,纯易语言编写,采集功能齐全、强大、稳定。采集速度超快。

    战神传说战神传说战神传说

    【描述】"战神传说战神传说战神传说战神传说战神传说战神传说"这段描述虽然重复,但我们可以推测,这款游戏可能具有深入人心的故事情节,玩家在游戏中会经历一系列与"战神"相关的冒险和挑战。游戏中可能包含了丰富的...

    迪兰RX580战神原版bios

    迪兰RX580战神原版bios

    软件设计模式与体系结构(讲解+代码)

     【例3.2】组合模式-五子棋代码  【例3.3】组合模式-空军指挥系统  【例3.4】组合模式-世界问候语  【例3.7】类适配器模式-客户信息验证  【例3.8】对象适配器模式-字符串排序  【例3.10】外观模式-安全...

    迪兰 rx590 战神x 8g BIOS原版备份

    迪兰 rx590 战神x 8g BIOS 原版

    网页游戏烈火战神引擎开发源码AIserver

    《烈火战神》是一款备受玩家喜爱的网页游戏,其背后强大的...由于源码内容庞大,建议逐步分析,从关键模块入手,逐步深入到各个细节,结合实际游戏体验,将理论与实践相结合,这样才能更好地理解和掌握其中的技术精华。

    神舟战神笔记本驱动程序

    神舟战神笔记本驱动程序是确保神舟品牌战神系列笔记本电脑硬件正常运行的重要软件组件。驱动程序在计算机系统中扮演着桥梁的角色,它连接着操作系统与硬件设备,使得操作系统可以控制和通信硬件设备,发挥其应有的...

    战神z7m-kp5sc EFI 10.14

    从压缩包子文件的文件名称“现在用的EFI”来看,这个文件很可能是当前正在使用的EFI配置,可能包含启动管理器、驱动程序和其他必要的固件组件,以使战神Z7m-kp5sc能够在macOS 10.14下成功启动和运行。 总结一下,这...

    迪兰恒进 战神 RX580 8G 原版BIOS

    迪兰恒进是一款知名的显卡制造商,而战神RX580 8G是其推出的一款基于AMD Radeon RX580显卡的高端型号。原版BIOS是显卡固件的核心部分,它包含了控制显卡运行、设置硬件参数、管理能源效率以及支持各种显示功能的指令...

    《暗黑战神》工程项目源码

    《暗黑战神》是一款基于Unity引擎开发的热门游戏,其源码的公开为我们提供了一个深入理解游戏开发、特别是Unity引擎应用的宝贵资源。在这个压缩包中,我们很可能会找到一系列与游戏逻辑、图形渲染、物理模拟、资源...

    PS2战神游戏补丁PS2战神游戏补丁

    PS2战神游戏补丁PS2战神游戏补丁PS2战神游戏补丁

    京东战神V5.2

    【京东战神V5.2】是一款专为京东平台设计的自动抢购工具,它集成了先进的自动化技术,旨在帮助用户在抢购活动中快速、准确地获取心仪的商品,特别是对于热门的华为3C产品(如大神F1)等,这款软件能够提高抢购的成功...

    神舟战神Z7M主板电路 .pdf

    《神舟战神Z7M主板电路》详细分析 神舟战神Z7M主板电路图纸是一份极其宝贵的维修资源,对于那些致力于主板修理、电脑维护的专业人士来说,它提供了全面且深入的系统供电信号走向,以及电脑的组件结构和拆装指南。这...

    迪兰战神RX580 8G 原版静音bios

    原版bios gpu-z提取的~~

    神舟战神系列风扇调速软件

    神舟战神系列风扇调速软件,使用时,把auto前的勾去掉,改成自己需要的百分比即可

    暗黑战神架设视频教程.mp4

    暗黑战神架设视频教程

    战神世界的小工具源代码

    《战神世界的小工具源代码》是一份专为"战神世界"游戏设计的辅助工具,旨在提升玩家在游戏中的体验和策略规划能力。这款小工具涵盖了城市建设和资源管理两大核心领域,帮助玩家更有效地进行游戏内的决策。 一、城市...

Global site tag (gtag.js) - Google Analytics