SimpleFactory 简单工厂 Intro 简介 简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。 简单工厂模式是工厂模式家族中最简单实用的模式,但不属于23种GOF设计模式之一。因为每次要新增类型的时候…
分类:架构
java命名规范
一、注()里的内容是自己的吐槽 二、命名规约 1.不能以下划线或美元符开始和结尾。反例:_name,$name,name_,name$.(我就从来没这样用过) 2.不能使用拼音和英文组合方式命名。更不能以拼音命名(英语烂…
5.3 图的遍历
1. 深度优先遍历(Depth_First_Search DFS) 算法思路,访问顶点,对顶点的邻顶点依次进行深度优先遍历。 void DFS(GraphAdjList GL, int i) { EdgeNode *p;…
为什么MVVM无法拯救你的项目
MVVM在MVC的基础上,增加了一层 ViewModel,目的是为了解决 MVC 架构模式中 ViewController 过于臃肿的问题,基本结构如图: MVVM ViewModel 有以下特点: ViewModel …
数据结构_知识点_树
关于树的基本术语 祖先结点,子孙结点 双亲结点,孩子结点 兄弟结点 </br> 结点的度 分支节点(度为0),叶子节点(又称终端节点) </br> 结点的层次 结点的深度(从根节点开始自顶向下逐层…
云计算的前世今生(上)
作者简介:刘超,网易云计算解决方案首席架构师。10年云计算领域研发及架构经验,Open DC/OS贡献者。长期专注于kubernetes, OpenStack、Hadoop、Docker、Lucene、Mesos等开源软…
函数编程思想
递归思想(递归函数) 递归思想的一个基本形式是:在一个函数中,有至少一条语句,又回去调用该函数自身。 典型案例: 求n的阶乘 总结:为了解决一个”大”问题,根据现实逻辑,该问题可以通过比他小一级的…
如何高效的判断一个数组里是否含特定元素
如何高效的判断一个数组里是否含特定元素? 这是我们在实际开发中经常遇到的一个问题,也是在Stack Overflow上的热门问题,解决这个问题有很多不同的方法,但是不同的方法的时间复杂度却差别很大,所以本文会列举常用的几…
重构之十六字心法
这篇文章是我写过的所有文章里最难产的一篇,前前后后斟酌酝酿了好几个月。因为重构对于我来讲真的太重要也太深刻了,包含的内容和想说的也太多了。如果说这几年自己觉得在哪些方面的收获最大的话,非重构莫属了。 重构的威力 软件开发…
循环链表(circular linked list )
对于单链表, 由于每个节点只存储了向后的指针,到了尾部标识就停止了向后链的操作,也就是说按照这样的方式,只能索引后继节点不能索引前驱节点。 这会带来什么问题呢? 例如不从头节点出发,就无法访问到全部节点。 要解决这个问题…
鹿晗是如何成功表白关晓彤的?
贝叶斯定理太有用了,不管是在投资领域,还是机器学习,或是日常生活中高手几乎都在用到它。 甚至我的朋友小鹿向女神表白也用了这个神器。 什么是贝叶斯定理呢? 贝叶斯定理长这样: 到这来,你可能会说:猴子,说人话,我一看到…
从Deadlock报错理解Go channel机制(一)
Go与其他语言不一样,它从语言层面就已经支持并发,不需要我们依托Thread库新建线程。Go中的channel机制使我们不用过多考虑锁和并发安全问题。channel提供了一种goroutine之间数据流传输的方式。 今天…