游戏设计模式学习笔记(1)设计原则、看懂类图
参考:
《设计模式与游戏完美开发》
《游戏编程模式》(https://github.com/tkchu/Game-Programming-Patterns-CN)
《图说设计模式( Graphic Design Patterns)》(https://github.com/me115/design_patterns)
【游戏设计模式】浅墨_毛星云: https://blog.csdn.net/poem_qianmo/article/details/52505170
设计模式简介: https://www.runoob.com/design-pattern/design-pattern-intro.html
- GoF:Gang of Four,《设计模式》一书的四位作者
设计模式是什么
- 解决一再出现的问题:归纳出相同的解决方案。
- 解决问题的方案和问题的核心的关键点。
- 可重复使用的解决方案。
设计原则
单一职责原则(SRP:Single Responsibility Principle)
- 当设计封装一个类时,该类应该只负责一件事。
开闭原则(OCP: Open-Closed Principle)
- 对扩展开放、对修改关闭。
- 对于已经完成测试上线运行的功能,
- 应该不能再修改这个累的任何接口和实现内容。
- 新增需求就要朝向“功能接口化”设计,将功能操作抽象为接口,功能实现下移到子类。
里氏替换原则(LSP: Liskov Substitution Principle)
- 子类必须能够替换父类。
- 客户端使用时,应该不知道目前对象是哪一个子类实现的。由类本身对象产生机制决定。
依赖倒置原则(DIP: Dependence Inversion Principle)
- 高层模块不依赖于低层模块,两者都应该依赖于抽象概念
- 抽象接口不应该依赖于实现,实现应该依赖于抽象接口
- 例如USB接口规范。
接口隔离原则(ISP: Interface Segregation Principle)
- 客户端不应该被迫使用它们用不到的接口方法。
- 通过“功能的切分”和“接口的简化”可以减少这类问题的发生。
最少知识原则(LKP: Least Knowledge Principle)
- 类应该越少使用到其他类提供的功能越好。
少用继承多用组合原则
GoF设计模式分为3大类
- 创建模式(Creational):产生对象的过程及方式。
- 结构模式(Structural):类或对象之间组合的方式。
- 行为模式(Behavioral):类或对象之间互动或责任分配的方式。
看懂类图
看懂UML类图和时序图:https://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html