夸克之书

  • 首页
  • 科普
  • 笔记
  • C#
  • 物联网
  • 算法
  • Linux
  • 树莓派
C#
C#编程技术
C#

C# Json序列化时将长整型(long)属性序列化为Json字符串

在开发时遇到个问题,数据设计的时候,采用长整型作为数据库Id,但是js只能支持53位,超过后将会溢出,导致C#中64为长整型在js中变得不可靠。 目前想到的方法是在序列化的时候,将id强制序列化为string。如下所示: public class Person { [JsonConverter(typeof(IdToStringConverter))] public long ID { get; set; } public string Name { get; set; } } public class IdToS…

2020-11-07 0条评论 398点热度 0人点赞 阅读全文
C#

23种常见的设计模式(9):命令模式

什么是命令模式?命令模式是将一个请求(命令)封装成一个对象,把不同的请求进行参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。可能理解起来有些困难,不过不用着急,我们一起通过下面这个例子来学习命令模式。 但本篇主要内容是了解命令模式的结构,命令模式的撤销和恢复功能暂且不表(比较复杂,可以参考数据库日志恢复)。 以抗日神剧中的一个营为例,一般来说一个营中分为多个连队,他们可能是同种性质的兵种也也能不是同种性质的兵种。(具体的划分我也不清楚,但是看日神剧里面确实是这么演的,咋们也不用去追究具体是不是这样…

2020-02-08 0条评论 672点热度 0人点赞 阅读全文
C#

23种常见的设计模式(8):中介者模式

大家都知道无论是在家里面还是公司中,无论是通过有线还是WIFI方式连接网络,共享文件都是通过交换机作为中间媒介进行数据交换的(普通家用路由器是将路由器和交换机整合到一起了的)。这个交换机就是不同设备之间数据交换的中介者。 现在我们来假设一个简单的场景,公司里面需要多个电脑连接在一起并互相共享文件。先来看看没有交换机的情况是怎么样的。 在没有交换机(中介者)的情况下,每台电脑都要连接到其它的电脑上面。假如说有N台电脑的话,工程量可想而知。我们用代码来实现以下。 首先是每台电脑都需要共享文件,和获取其它电脑文件的方法。…

2020-02-04 0条评论 547点热度 1人点赞 阅读全文
C#

23种常见的设计模式(7):原型模式

原型模式是一种很简单也是很常见的一种模式,用一句来概括就是用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。 举一个简单的例子,在考试后我们查看各个参考人员的试卷。一般来说,同一考场同一考次的试卷是一样的(别杠,举个例子啦)。那么怎么生成每个人的试卷呢?第一种是每个人new一个各自的试卷对象,如果试卷有千百万份呢,这时候new的性能就不太乐观了。所以有了更好的性能解决方案,首先创建一个人试卷对象,然后直接通过拷贝,在拷贝之后重新设置试卷的分数,姓名,答题答案不就行了吗? 既然是原型模式,肯定有一个或多…

2020-01-14 0条评论 744点热度 0人点赞 阅读全文
C#

23种常见的设计模式(6):代理(委托)模式

正如其名,代理模式就是为其他对象提供一种代理以控制对这个对象的访问。理解起来很简单,就是提供一个代理对象,让代理对象代理执行实际对象中的方法。说穿了,代理类就相当于我们生活中的中介。而本篇将分为两个小节,分别是静态代理和动态代理。通过这两个小节,循序渐进的学习代理模式。 一、静态代理 举个简单的例子。在打官司的过程中,我们是原告。我们要请个律师来代理我们进行辩护,而这个律师就是我们的代理人。 (代理律师:根据当事人的委托代表当事人进行法律活动的代理人。)PS:我个人也没打过官司,具体流程也不是很清楚,大概明白就行。…

2020-01-13 0条评论 1003点热度 0人点赞 阅读全文
C#

23种常见的设计模式(5):建造者模式

还是咋们的电脑店,不过今天的客户有点不同寻常。还记得上次那个我们给装了9900K CPU的客户吗?没错,今天他又来了。但是今天他的需求有点不同寻常,他要装300套和之前配置一样的电脑,用来开一个巨豪华的网咖。对于我们来说当然高兴呀,而且这生意可不能黄了。但是单单靠我们几个人肯定不行呀,等装完300台电脑,黄花菜都凉了。 于是我们请了两个经验丰富的临时工来帮我们组装一下。那么问题就来了,临时工他们两个人的装配顺序不一样,每个人有每个人的工作习惯,但是肯定要按照客户的要求,按照之前配置来装电脑呀。于是我们就做出规定,对…

2020-01-04 0条评论 697点热度 1人点赞 阅读全文
C#

23种常见的设计模式(4):模板方法模式

首先我们要知道的是,模板方法模式是一种非常非常简单的模式。但是简单不代表不实用,模板方法模式也是一种应用非常非常广泛的模式。可能大家在编写程序的时候已经无数次的应用到了,但是却不知道它有一个非常高大上的名字:模板方法模式。 来看看模板方法模式的定义:定义一个操作中的算法框架,而将一些步骤延迟到子类当中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 举一个很简单的例子。某天我们不想996了,然后去开了一家电脑店,给客户组装电脑。但是组装的电脑配置肯定是根据价格来定的,不可能3000块的电脑我们给装…

2020-01-03 0条评论 649点热度 0人点赞 阅读全文
C#

23种常见的设计模式(3):抽象工厂模式

在上一篇(工厂方法模式)中我们发现了一个问题,就是一个工坊里面只能生产一个产品?现在问题就来了:突然客户要求,每种产品要分为两种型号,即型号1和型号2。 这时就需要我们对我们的工坊进行改造了,给我们的工坊添加两条生产线,让每个工坊可以同时生产不同型号的产品。 首先是我们的产品,我们要将我们的产品划分为两种不同的型号,分别是型号1和型号2。于是我们把每种产品抽象出来,以产品A为例: 然后分别再去实现产品A的两种不同型号。 产品B,产品C依次类推。 好了,现在我们生产的产品已经完成改造了。接下来是对我们的工坊进行进一步…

2020-01-01 0条评论 728点热度 0人点赞 阅读全文
C#

23种常见的设计模式(2):工厂方法模式

在进入正题之前,我们先一起来重温一下简单工厂模式。 什么是简单工厂模式?通俗一点来说就是就是专门定义一个类或者或一个方法根据不同参数来返回继承了同一个抽象类的具体实现类。是不是很像一个类工厂,所以就叫简单工厂模式了。 对于简单工厂模式,举个简单的例子。我们开了一家工厂,现在在生产三种产品,分别是ProductA、ProductB和ProductC。 现在我们先来定义我们的抽象工厂类: 现在我们来创建三种产品的对应的产品类: 好了,工厂有了,产品也有了。我们再来招聘一个产品经理吧,通过产品经理来控制产品的生产。 BO…

2019-12-30 0条评论 631点热度 0人点赞 阅读全文
C#

23种常见的设计模式(1):单例模式

首先一个问题,什么是单例模式?根据我的理解,单例模式重点突出一个“单”字,无论干什么都是在同一个类中进行的,一个类只能生成一个对象,所有的操作都通过这个对象来进行操作。 很显然,要控制一个类只能提供一个单一的对象供外部调用使用,就需要将构造行数私有化,让其他人(类)不能创建我这个类。同时,要对外提供服务,我就需要将这个已经由我创建好了的对象公布出去,让别的人(类)通过我公布的实例来对我进行访问。 以一个Log类作为例子,在项目开发的生命周期中,需要在无数的地方打印日志。不可能每次调用一下日志打印就要去创建一个日志打…

2019-12-29 0条评论 622点热度 0人点赞 阅读全文
123

Afirefish

夸克之内,别有洞天

搜索文章
分类目录
  • C# (28)
  • Linux (3)
  • 树莓派 (13)
  • 物联网 (19)
  • 科普 (4)
  • 笔记 (30)
  • 默认 (44)
最新 热点 随机
最新 热点 随机
树莓派PWM风扇控制 PVE重启后LVM Thin数据丢失,错误:Volume group "****" has insufficient free space (128 extents): 4048 required. OpenWrt配置SmartDNS OpenWrt x86安装Frpc Intel网卡开机显示Initializing Intel(R) Boot Agent GE v1.5.50 IdentityServer4证书创建 免费本地解析域名(locallocal.cn),支持HTTPS 使用淘宝npm以及安装cnpm
Steam饥荒专用服务器搭建你见过哪些有趣的代码?修改PostgreSQL数据库默认用户postgres密码在VS Code开发Arduino项目Error response from daemon: cannot stop container: ******: Cannot kill container *******:.....单机Docker搭建FastDFSC# Json序列化时将长整型(long)属性序列化为Json字符串使用淘宝npm以及安装cnpm
OpenWrt x86安装Frpc 谈谈Js的回调函数 严肃一点的排序算法(1) - 睡眠排序 Windows桌面图标空白修复 Intel网卡开机显示Initializing Intel(R) Boot Agent GE v1.5.50 Winform设置程序开机启动 MySQL ONLY_FULL_GROUP_BY报错 Navicat 12 for MySQL激活
最近评论
发布于 7 天前(02月21日) 好的谢谢,那我只能通过kill杀死推流指令进程来实现了。
发布于 7 天前(02月21日) 要用这个项目的话,你得自己拉代码来改了。做这玩意儿主要是考虑全天候的,没考虑过关[笑哭]
发布于 1 周前(02月21日) 就是想问有没有能通过代码控制的关闭推流的指令,而不需要手动控制。我想设置一个按钮来控制开始推流和结束...
发布于 1 周前(02月20日) 唔,没懂你意思,直接拔电源不就行了。不拔电源关闭推流服务也行撒。
发布于 1 周前(02月20日) 你好,我想问一下,如果不想推流了,该用什么方法停止树莓派推流呢?
书签
  • 打赏
  • 毒鸡汤(有点意思)
  • 米店
  • 金鱼直播间
放松一下
https://www.quarkbook.com/wp-content/uploads/2020/09/Yanni-Nightingale.flac
用户您好!请先登录!
登录 注册

COPYRIGHT © 2020 夸克之书. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

蜀ICP备15036129号-9

登录
注册|忘记密码?