设计模式与游戏完美开发(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中。