- 博客(16)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 数据结构之最小堆[MinHeap](C#版)
数据结构之最小堆[MinHeap](C#版)什么是最小堆猿话版最小堆的结构最小堆的操作总结什么是最小堆猿话版最小堆是一棵小根树,节点的值都小于等于其根节点的值;最小堆是完全二叉树;补充一点: 什么是完全二叉树?完全二叉树的官方定义,这里就不复制粘贴咯,因为太难理解了(至少对于我来说…),所以,我这里才要补充一下,我个人是怎么理解完全二叉树的。个人理解的完全二叉树:添加元素时,只...
2020-01-25 20:21:27
1719
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 数据结构之二叉搜索树(C#版)
数据结构之二叉搜索树[BST](C#版)什么是二叉搜索树猿话版:为什么要有二叉搜索树二叉搜索树的结构节点二叉搜索树二叉树搜索的操作查找节点插入节点删除节点总结什么是二叉搜索树首先,搜索二叉树,字面理解,它必选先是一课二叉树(如果不知道什么是二叉树可以参考我的另外一篇文章数据结构之二叉树(C#版)),因为二叉搜索树是建立在二叉树的基础上的,所以我直接用猿话版来解释好了。猿话版:1.树中的任意...
2020-01-13 23:39:48
876
3
原创 EntityFramework Core 从放弃到入门系列之-表的创建
EntityFramework Core 从放弃到入门系列之-表的创建简介安装必要的NuGet包创建列创建库和表配置链接字符串添加迁移数据库的生成总结简介这篇文章使用Code First(一码当先)的方式来创建,顾名思义,这种方式是先创建好代码,然后再通过CLI命令自动生成数据库。因为带Core的框架都是跨平台的,所以本文中的命令都使用CLI的形式。我们一般创建数据库的时候的顺序是,建库->建表->建列,但是Code First的方式则是反过来的,下面我们来看看基础的创建方式。安装必
2020-07-08 08:24:08
521
原创 C#任务之Task
C#任务之Task背景任务的开启思考总结背景今天在疯狂输出代码的时候,利用Parallel.Foreach()来编写并行程序的时候出现问题了,然后Parallel是基于Task的,所以我决定,先研究一下Task。文章后续主要是模拟一位大厨准备早餐,包括煎蛋和煮咖啡两件事。煎蛋和煮咖啡两件事情是可以异步进行的,比如,可以先开始煮咖啡,在等待过程中(比如烧水耗时长,只需等待不需操作),就可以先开始着煎蛋的,然后两件事情交互着进行。任务的开启我们先来定义一下煮咖啡和煎鸡蛋两个方法 sta
2020-06-12 09:00:42
689
原创 设计模式之选项模式(C#+Go版)
设计模式之选项模式(C#+Go版)简介代码的坏味道五分钟过去了选项模式C#代码1.为每个选项配置属性写对应的函数2.构造Option的函数3.如何调用Go代码总结简介最近,我在学习和研究Go语言的时候突然发现了一个选项模式,为什么说是突然发现,因为我看的两本关于设计模式的书籍,都没有提及过选项模式(也可能是我孤陋寡闻????),所以,我研究了一下,并决定写一篇博客跟大家分享一下。代码的坏味道...
2020-05-07 23:36:47
607
原创 游戏系统之间的管理-中介者模式之C#版
游戏系统之间的管理-中介者模式之C#版情景假设????代码的坏味道????财务系统人口管理系统生产系统让代码散发芬芳????中介者改版后的生产系统总结情景假设????现在假设要做一款游戏,而我们要负责的部分呢,就是生产系统、财务系统、人口管理系统(当成是一个女朋友生成游戏吧????,生成一个女朋友需要扣除现有金钱,人口还需要增加1或者2????)代码的坏味道????首先,我们来把这三个系统用普通的写法来实现一下财务系统这里...
2020-04-04 22:57:05
205
原创 如何使用go来实现观察者模式
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2020-03-27 09:23:15
759
原创 如何打造一个完美的女朋友(建造者模式)
@[TOC]设计模式之建造者模式(C#版本)简介建造这种行为,在生活中是无处不在的,比如建造一栋高楼,建造一辆车,建造一艘船等等。在建造过程中,其实都有一定的工序流程或者说操作。拿建造一辆车来举个例子吧,建造一辆车大概会需要制造车架、烤漆、放入引擎、内饰装配等等的步骤(对车的制造不太了解,只能乱吹一下????),而最终制造出来车辆的差异,往往是各个详细步骤中操作不一样而导致的。比如烤漆,选用什么颜...
2020-03-16 23:42:11
561
原创 设计模式之状态模式(C#版)
设计模式之状态模式(C#版)简介什么是状态模式一个人状态的变化UML图总结优点用处简介状态在生活和工作中无处不在,比如一个人有开心、伤心、工作中、睡眠中等不同的状态,一张订单有初始化、待审批、已审批等不同状态。什么是状态模式我们先来讲一下什么是状态模式。状态模式的定义是,当一个对象的内部状态改变时,其行为也随之改变,这个对象看起来像是改变了其类。比如一个人,从心平气和的状态变到愤怒的状态...
2020-03-10 19:21:26
434
原创 设计模式之观察者模式(C#版)
设计模式之观察者模式简介假如你是个员工总结简介观察者模式是基于事件(event)或者委托(delegate)的。比如winform的控件事件OnXXXX,其实就是一种观察者模式。简单地说,观察者通过观察被观察者的行为而执行对应的动作。下面来进行一个假设吧。假如你是个员工我们用代码来模拟一个这样的场景。假如你是一个员工,同事们都跟你一样在偷懒,突然,老板回来了,这个时候,大家都要做回老板在的...
2020-03-07 23:14:57
270
原创 设计模式之抽象工厂+反射(C#版)
设计模式之抽象工厂+反射简介假设有个项目经理总结简介在之前的简单工厂里面有两个问题,第一个是switch case的使用会使代码随着类的增多而增多,不便于后面的维护(试想你看着代码里面,一堆的case…),第二个问题是,工厂返回的是指定的类,返回指定类为什么不太友好呢?因为这就相当于,我需要知道你是谁才知道你能干什么(如果现在还不懂什么意思的话,不要着急哈,后面看了我代码的实现就知道了)。假...
2020-03-05 22:20:33
569
原创 设计模式之简单工厂模式(C#版)
设计模式之简单工厂模式(C#版)简介假设有个女朋友总结简介我用最简洁而直接的方式来描述一下,什么是简单工厂模式。一句话就是,工厂类使用switch case语句返回特定类型。下面,我们用一个脑补故事来描述一下。假设有个女朋友假设,仅仅是假设啊,你有一个女朋友(不是new出来的那种啊),而且,你的女朋友很喜欢小动物,但是这个女朋友有个问题,她第一天可能喜欢猫,就让你给她弄一只猫,第二天可能...
2020-03-04 23:30:20
183
原创 C#实现Json序列化-反射与特性
C#反射与特性-实现简单的Json序列化简介反射是什么特性是什么实现JsonConvert.SerializeObject(object obj)分析实现总结简介这篇文章主要是围绕对象转换为json字符串来讲述反射和特性,但反射和特性不仅仅只是用来转换json字符串的啦,比如IOC容器或者抽象工厂都可以使用反射和特性,反射和特性对于编写一个灵活的程序是十分重要的,在很多常用的框架都可以看到它们...
2020-02-26 15:13:19
1617
原创 数据结构之单链表(C#版)
数据结构之单链表(C#版)简介与数组的区别1.内存分布2.数据的获取代码实现节点类(Node.cs)链表类(LinkedList.cs)增加节点删除节点修改节点值查询节点自定义ToString方法总结简介数据结构和算法是程序员的内容心法,正好,我也刚刚学完一个系列的数据结构和算法的课程,那就趁热打铁,先给大家分享一下数据结构之单链表,那么什么是单链表呢?1.我用灵魂画了一下下面这幅图,来大致...
2020-01-03 00:09:42
476
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人