这里记录下计算机接收数据的过程。
游戏ECS
多使用组合
如果一味地使用继承,那么当游戏世界里面的对象种类变多,功能变复杂以后,会导致整个继承树“头重脚轻”,严重破坏了良好的面向对象设计原则—我们设计的类层次结构应该是扁平结构的,而不是一个头很大的树。
那么,我们需要使用怎样的架构来处理游戏里面的对象呢?答案就是使用组合。
ECS
ECS由三个基本部分组成:实体、组件和系统。实体是与对象关联的唯一id,组件是表示实体信息的数据,系统在实体上运行逻辑,以利用或更改来自组件的数据。
一个简单的例子:玩家,怪或者物体entity。技能component。逻辑集中在system里。
e-c里gameobject是entity,只是个类似容器的抽象概念,entity里包含的component决定了对象是什么
component可以给不同的gameobject重用,通过组合多种component而不是继承来构造不同的对象。
e-c-s三者都有其意义,e-c是组合优于继承,主要用以改善oo的继承耦合过重以及多继承菱形问题。
冗余的OOP层次结构
实体组件系统(ECS)
NexT主题美化
Hexo博客支持很多主题风格,其中Next主题是Github上Star最多的主题。关于主题的界面美化手法有以下这么多种。
NexT问题改进
这里一定要注意,Next是不是更新到最新的版本。有可能下面的问题是版本老旧造成的。
Jenkins
Jenkins是一款由Java开发的开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能。
skynet各文件功能
分析一个程序的源代码,前期除了研究该程序的历史外,还可以细分下各文件所表达的功能。
skynet monitor
监控系统能帮助我们分析节点的服务存在的问题,例如:服务死循环、服务内存溢出、cpu耗时过长等问题。
事件驱动模型与观察者模式
你有一件事情,做这件事情的过程包含了许多职责单一的子函数。当这些子函数有如下特点时,我们应该考虑设计一种合适的框架,让框架来完成一些业务无关的事情,从而使得各个子过程的开发可以专注于自己的业务。降低程度耦合程度。
skynet考古
研究一个程序的进化历史,是一件很有趣的事。
Hexo替换主题
之前在Hexo+GitHub Pages博客搭建搭建了博客,这里将替换hexo的主题。这个网站有很多主题可以供我们去选择。我们这次安装主题也是上面这些主题中其中一个,它就是 NexT。