设计模式与游戏完美开发(0)

书籍第一章第二章内容,介绍设计基本原则以及书中游戏范例

第一篇 设计模式与游戏设计

第一章 游戏实践中的设计模式

一、定义及常见设计原则

设计模式(Design Patterns or GoF)定义如下:

每一种模式都在说明某种一再出现的问题,并描述解决方法的核心,之后让你能够据以变化出各种招式,来解决上万个类似的问题。

面向对象设计中常见的设计原则:

  • 单一职责原则(SRP:Single Responsibility Principle)

    即“当设计封装一个类时,该类应该只负责一件事情”。

  • 开-闭原则(OCP:Open-Closed Principle)

    即一个类应该“对扩展开放,对修改关闭”。对修改关闭即对已经完成某功能的类,不能再修改这个类的任何接口或实现。对扩展开放即对功能的增加保持开放,可以将操作方法向上提升,抽象化为接口,而功能的实现下移到子类,此时功能的增加就可以通过增加子类实现。

  • 里氏替换原则(LSP:Liskov Substitution Principle)

    即“子类必须能够替换父类”。

  • 依赖倒置原则(DIP:Dependence Inversi Principle)

    高层模块不应该依赖于低层模块,两者都应该依赖于抽象概念。

    抽象接口不应该依赖于实现,而实现应该依赖于抽象接口。

    即高层模块应定义接口,再由低层模块遵循这个接口实现

  • 接口隔离原则(ISP:Interface Segregation Principle)

    即“客户端不应该被迫使用它们用不到的接口方法”。

  • 最少知识原则(LKP:Least Knowledge Principle)

    即当设计实现一个类时,这个类越少使用其他类提供的功能越好。

  • 少用继承多用组合

    尤其有的时候我们并不想完全实现父类接口的方法,此时应尽可能使用组合设计。

二、游戏程序设计与设计模式

游戏程序设计面对的问题;

  • 市场的多样性
  • 需求的多样性
  • 平台的多样性
  • 技术的多样性

GoF的23种设计模式分类:

  • 生成模式(Creational):产生对象的过程及方式。
  • 结构模式(Structural):类或对象之间组合的方式。
  • 行为模式(Behavioral):类或对象之间互动或责任分配的方式。

可能的问题:

​ 过度设计—某些设计直到项目上市都没有被使用过。

第二章 游戏范例说明

游戏范例:P级阵地

该书利用一个完整游戏范例说明如何应用19种设计模式,该范例《P级阵地》简介:

“P级阵地是一款阵地防守游戏,任务是不让玩家的阵地被敌方单位。玩家可通过位于地图上的兵营,产生不同的兵种来防守阵地,而这些由兵营产生的玩家作战单位,会在阵地附近留守,过程之中玩家不必操控每一个作战单位,它们会自动发现来袭的敌人并将其击退。敌方单位则是定期有阵地外围不断地朝阵地中央前行,并攻击阻挡在面前的玩家单位,当有3个敌方单位抵达阵地中央,则游戏失败。”

项目地址:sttsai/PBaseDefense_Unity3D

GoF的设计模式范例

除了一个应用设计模式的游戏范例,本书还提供了一个单独的设计模式练习程序包含在场景DesignPatternExample中。


相关内容

0%