nickpansh / Unity-Design-Pattern

A Collection of Unity Design Patterns with examples and notes written in Unity3D game development. | Unity3D游戏开发中的设计模式,包含例子和详细的思路讲解

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unity3D游戏开发中的设计模式

这个仓库是在Unity3D中实现设计模式的合集,使用C#编写。

  • 包含GOF的23种设计模式
  • 包含《游戏编程模式》的Unity实现

Engligh

背景

设计模式的精妙之处在于它们是一组经过验证和实践的通用解决方案,可以帮助软件工程师提高代码的质量,并简化软件开发的复杂性。

但这些年关于设计模式的争议也不绝于耳。

最主要的原因是设计模式的概念提出距今有接近三十年了,随着现代软件工程的发展,情况有了些变化:

  • 随着软件工程的发展,业务拆分更细了,框架与业务时常被完全拆开。设计模式对于框架开发更重要。

  • 一些设计模式已经被语言或者是框架所集成。对于使用它们的开发者而言,使用这些语言支持会更方便。

  • GOF提出设计模式时没有按照使用频率排序导致了部分误解的产生。

但不管是对于什么水平的程序员,什么类型的代码开发,只要我们追求代码的可复用性,我们就需要修炼好设计模式的内功。

我试图阐述Unity3D游戏开发领域的设计模式,包括:

  • 按照我的理解对游戏开发中的设计模式进行重要性排序
  • 除了23种设计模式外,引入《游戏编程模式》里的游戏设计模式
  • 对于每一种设计模式,都提供游戏开发中使用它的思路和例子,聚焦游戏开发,目的是加深理解,避免泛泛而谈。
  • 对于部分语言/框架:C#/.NET/Unity3D 框架里用得比较多的模式,关注框架里是怎么使用的。通过UnityCSReference里的源码来谈对设计模式的理解

适合谁看

  • 对Unity游戏开发有一定了解,想提升代码质量的工程师。
  • 对Unity游戏开发和设计模式都有一定了解,想复习设计模式的工程师。
  • 对游戏开发感兴趣,并准备在此领域深挖的初级程序员。
  • 对Unity游戏开发完全不了解,但对设计模式感兴趣,想寻找模式应用例子的工程师。

不适合谁看

  • 完全不了解Unity开发,也没听过设计模式的人。(建议分别学习Unity开发和设计模式)
  • 觉得设计模式没有用,享受屎山的工程师。

目录

目前已经完成的例子有:

致谢

本项目参考了以下项目的部分代码:

参考资料与了解更多

License

本工程使用MIT授权协议

参考了一些外部工程的源码,查看License以获取全部的授权文本。

About

A Collection of Unity Design Patterns with examples and notes written in Unity3D game development. | Unity3D游戏开发中的设计模式,包含例子和详细的思路讲解

License:Other


Languages

Language:C# 100.0%