golang设计模式的一些看法

说明:此文章为腾讯云机器自动从本人csdn博客搬迁过来。是本人授权操作。

申明:无本人授权,不可转载本文。如有转载,本人保留追究其法律责任的权利。

龚浩华,QQ 29185807,月牙寂 道长

第一时间获取文章,可以关注本人公众号 月牙寂道长 yueyajidaozhang

golang设计模式的一些看法

对于c、c++来讲,设计的对象存在着这几个问题

1、 对象是死的,只有自己的属性,行为(函数)。没有可以自己独立执行的机制

2、 对象是存活的,有自己的属性,行为(函数),还有独立执行的活动(自己独立的线程)。但由于系统的限制,这种对象数量不能过多(线程数量不能太多)。

3、 对象是半存活的,有自己的属性,行为,没有独立的执行活动(没有自己独立的线程)。需要借助于其他对象的线程调度。

以上是c、c++语言的一些限制。其他语言不是熟悉,不进行评判。但大多数也是类似的。

那么对于golang语言来讲,设计的对象可以是

存活的,每个对象,有自己的属性,有自己的行为,也有自己的活动(通过协程来实现)。那么这样来讲,golang就可以实现对对象的完整模拟实现。就犹如我们现实世界,个体能够保持独立性,自治性。

那么个体之间的联系呢,在golang语言中,可以通过chan来实现。就犹如现有的社交网络一样。

Golang中的对象,就是模拟节点,而chan则是模拟链接通信。这些则是golang区别于其他语言的一些重大特性,所以用golang语言开发,能够更好的理解和实现我们的世界。

那么有了这些机制,对于群体智能,就能很好的模拟。每个个体的行为是独立的,个体之间通过一些信息交流。当个体数量达到一定程度的时候,其群体行为就会涌现出来。在某种程度上来说,这个也是大数据分析的一种方式。

我个人很看好golang语言,也正是这些东西,使得golang语言能与其他语言有着本质的区别。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

如何用 Python 从 0 开始创建一个区块链?

关键词:区块链、python、 正文如下: 在数字货币盛行的档口,比特币,这币那币到底值不值得信赖呢?也许你像很多人一样感到新奇,想接近它,但只因背后的区块链...

3576
来自专栏架构师小秘圈

你所不知道的库存超限做法

作者:程序诗人,来自:cnblogs.com/scy251147 零,题记 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达...

3176
来自专栏Python中文社区

用Python从零开始创建区块链

作者认为最快的学习区块链的方式是自己创建一个,本文就跟随作者用Python来创建一个区块链。 对数字货币的崛起感到新奇的我们,并且想知道其背后的技术——区块...

9787
来自专栏Kevin-ZhangCG

Java学习路线图分析

753
来自专栏全栈数据化营销

用python从0开始创建一个区块链,从代码深入理解区块链

本文主要内容翻译自Learn Blockchains by Building One 作者认为最快的学习区块链的方式是自己创建一个,本文就跟随作者用Python...

39410
来自专栏机器学习算法与Python学习

如何用Python创建眼下火爆的区块链?这篇干货请收藏

源 | learnblockchain | 小象 文 | Daniel van Flymen 译 | Tiny熊 对数字货币的崛起感到新奇的我们,...

2937
来自专栏恰同学骚年

自己动手写游戏:飞机大战

  要说微信中最火爆的小游戏是哪款,可能既不是精心打造的3D大作,也不是《植物大战僵尸2》,而是微信5.0刚开启时的《飞机大战》。

811
来自专栏IT派

C# 200行代码实现区块链

原始文章是通过 Go 语言来实现自己的区块链的,这里我们参照该文章来使用 C# + Asp.Net Core 实现自己的区块链。

621
来自专栏Netkiller

传统数据库也能实现区块链存储

传统数据库也能实现区块链存储 本文节选自电子书《Netkiller Architect 手札》,延伸阅读《Netkiller Blockchain 手札》 最近...

39810
来自专栏Kevin-ZhangCG

Java学习路线图分析

24610

扫描关注云+社区