关于面向对象设计与SRP、DIP原则
@hyngng.dev 及另外 1 位作者
3 个月前发布
不知道自己在哪个阶段,但如果用认知四阶段来比喻的话,大概处于有意识胜任的阶段吧。虽然还没有把握什么才是好的设计,但在这种过程中逐渐产生了一些似乎明白的东西,其中有些让我觉得挺有意思。 面向对象设计的背景及其擅长的是众所周知的。为了打破传统过程式范式的局限,具体来说是为了保留抽象思维,以人更容易理解的
3 个月前发布
不知道自己在哪个阶段,但如果用认知四阶段来比喻的话,大概处于有意识胜任的阶段吧。虽然还没有把握什么才是好的设计,但在这种过程中逐渐产生了一些似乎明白的东西,其中有些让我觉得挺有意思。 面向对象设计的背景及其擅长的是众所周知的。为了打破传统过程式范式的局限,具体来说是为了保留抽象思维,以人更容易理解的

1 年前发布
从上一个项目的经验中学到的一点是,长时间投入开发某件事,从某种意义上说,也意味着我涉入了一个巨大的脉络。稍有不慎,开发过程可能会留下疲惫而痛苦的经历,因此需要深思熟虑,谨慎选题。 这次的概念设计在某种意义上是一个实验。首先,我计划用 1~2 个月的时间,通过制作设计草案、编写文档、设计类等方式来具体
1 年前发布
在Python中声明类变量时,通常使用 self 对象的方法,但准确来说这是在实例中使用内部变量的方法。由于访问该类变量需要创建实例,如果需要在所有对象中保证相同值,或者想要达到类似C#或Java等其他语言中 static 关键字的效果,则应在 __init__() 函数外部声明。 该变量在所有实例
1 年前发布
在Unity中,振动通常可以使用 Handheld.Vibrate() 的形式,但缺点是振动强度和持续时间固定,因此主要使用以下方法。 完成的 AndroidManifest.xml 文件如上所示。基于该文件构建的应用将请求振动权限,玩家允许后即可振动。 在项目路径任意处添加C#文件,粘贴以下代码并
2 年前发布

5 个月前发布
在社会服务期间,办公室里遇到了一个问题。社会服务人员工作后记文章中有更详细的整理,简单概括就是公共机构不能随意使用未经许可的外部程序,这个经历成为了程序开发的动机。不过,我并不是仅仅出于"直接自己做一个来用"的想法开始的。因为想在不同的语境下使用通过 Unity 初次接触的 C#,也想认真做一次 W
1 年前发布
A* 算法是一种用于寻找连接两个特定点的最短路径的图搜索算法。该算法的特性可以用一个公式概括,其中 $n$ 表示节点: $$ f(n) = g(n) + h(n) $$ A* 算法在寻找最短距离时,会考察可移动相邻节点的成本。首先将考察对象加入开放列表(Open List),然后将考察结束的节点移入
1 年前发布
魔法方法,或称特殊方法,是Python类中用于定义特殊行为的内置函数,包括运算符重载、对象输出方式改变、像容器一样运作等,帮助更丰富地定义对象。主要有以下特点: 魔法方法的典型例子 __init__() 在对象创建时被调用进行初始化。如果先用其他语言接触面向对象,可能会觉得Python这种在 __i
1 年前发布
如果能早点整理就好了,但直到有了确信才现在写下来。行尽地是出于尝试新的编程模式和一点点新鲜表现手法的贪念而开始的项目,我曾投入到写了三次开发记录的程度,也有一些开发成果,但最终开发还是中止了。 最后开发时我所感受到的是义务感和枯燥。虽然是我自己开始的事情,但到了最后,敲键盘这件事似乎变得有些吃力。