代码改变世界

随笔分类 - .Net

如何重构我们以前写的垃圾代码——观察者模式

2020-02-12 14:48 by 沉睡的木木夕, 94 阅读, 收藏, 编辑
摘要:如何重构我们以前写的垃圾代码——观察者模式 首先来看下 GoF 对观察者模式的定义: 多个对象间存在一对多关系,当一个对象发生改变时,把这种改变通知给其他多个对象,从而影响其他对象的行为 就是说当一个对象要发生变化时,要通知其他多个对象同时要发生相应的变化的行为。 从这句定义上来看,重点在于两个“对 阅读全文

C# 中 ConfigureAwait 相关答疑FAQ

2020-01-18 22:06 by 沉睡的木木夕, 1766 阅读, 收藏, 编辑
摘要:C 中 ConfigureAwait 相关答疑FAQ 在前段时间经常看到园子里有一些文章讨论到 ConfigureAwait,刚好今天在微软官方博客看到了 "Stephen Toub" 前不久的一篇答疑 ConfigureAwait 的一篇文章,想翻译过来。 原文地址:https://devblog 阅读全文

async-await 线程分析

2020-01-15 00:55 by 沉睡的木木夕, 193 阅读, 收藏, 编辑
摘要:这里没有线程 原文地址: "https://blog.stephencleary.com/2013/11/there is no thread.html" 前言 我是在看 C 8.0 新特性异步流时在评论里看到这篇文章的,阅读之后发现这篇文章干货满满,作者解释的非常清晰,里面的本质分析内容在《CLR 阅读全文

建造者模式(Builder)——从组装电脑开始

2020-01-06 01:01 by 沉睡的木木夕, 126 阅读, 收藏, 编辑
摘要:建造者模式(Builder)——从组装电脑开始 建造者模式概括起来就是将不同独立的组件按照一定的条件组合起来构成一个相对业务完整的对象。调用者无需知道构造的过程。 我们从组装电脑开始 让我们从买组装电脑开始吧。 首先要买一个电脑,一般都有两个选择 —— 品牌电脑和组装电脑,一般人为了省事和放心都会选 阅读全文

Tuple VS ValueTuple

2019-09-11 15:45 by 沉睡的木木夕, 129 阅读, 收藏, 编辑
摘要:深入理解 c 元组与值元组(Tuple,ValueTuple) 为什么有此文章 首先要说的是我们公司内部技术框架是用 abp.vnext 框架整合而来的,我们架构师对于 abp 相关的知识都很了然于胸了。并且这个框架的确很优秀,省了我们前期大量基础工作。架构师把主要的架子搭建好了之后,把应用层与核心 阅读全文

递归,循环,尾递归

2018-11-13 10:55 by 沉睡的木木夕, 627 阅读, 收藏, 编辑
摘要:递归,循环,尾递归 方法递归,简而言之就是方法本身自己调用自己; 咬文嚼字的分析就是两个过程:“递“过程和”归“过程,所有的递归问题都能用地推公式标识.例如斐波拉契数列就能用递推公式表示: $$ f(n) = f(n 1) +f(n 2)其中fn(0)=1,f(1)=1 $$ 转换成代码就是 c p 阅读全文

.NET 单元测试的利剑——模拟框架Moq(简述篇)

2018-04-25 00:45 by 沉睡的木木夕, 664 阅读, 收藏, 编辑
摘要:.NET 单元测试的利剑——模拟框架Moq 前言 这篇文章是翻译文,因为通过自己参与的项目,越发觉得单元测试的重要性,特别是当跟业务数据打交道的时候的,Moq就如雪中送炭,所以想学习这个框架,就从这篇译文开始吧,顺便提升下自己英文阅读水平吧,由于英语实在不行,借助有道翻译有时候还理解不了原文的意思。 阅读全文

微服务架构总结与日后学习导向

2018-02-08 10:52 by 沉睡的木木夕, 537 阅读, 收藏, 编辑
摘要:基于DDD思想的微服务架构学习导向 架构学习前言 因为公司架构组决定在后续的项目系统开发中采用 “微服务架构+.netcore” 模式,这个模式直接用于实践,对于我们公司这些没有实践经验的人来说,开发难度是显而易见的。正因为如此,公司架构师才数次为我们研发人员进行架构培训,讲关于这套架构所涉及的知识 阅读全文

怎样使用表达式树生成动态查询

2018-01-11 12:11 by 沉睡的木木夕, 437 阅读, 收藏, 编辑
摘要:[翻译]怎样使用表达式树生成动态查询 在LINQ,表达式树常用于结构化查询,目标资源数据实现了 "IQueryable" . 例如,LINQ为关系型数据存储查询提供了 "IQueryable" 接口。C 编译器将这些数据源的查询编译成运行时的表达式树代码。然后查询提供程序可以遍历表达式树数据结构,并 阅读全文

如何执行表达式树

2018-01-10 09:42 by 沉睡的木木夕, 246 阅读, 收藏, 编辑
摘要:执行表达式树 本节主要展示如何去执行表达式树。运行一个可能含有返回值或只是执行一个操作,比如方法调用的表达式树。 只有表示lambda表达式的表达式树能够被执行。它是一个 "LambdaExpression" 或 "Expression" 类型。为了执行这些表达式树,调用 "Compile" 方法来 阅读全文

表达式树(Expression Trees)

2018-01-08 19:00 by 沉睡的木木夕, 272 阅读, 收藏, 编辑
摘要:[翻译]表达式树(Expression Trees) 原文地址:https://docs.microsoft.com/en us/dotnet/csharp/programming guide/concepts/expression trees/index 表达式树展示的是代码的树形结构,每一个节点 阅读全文

ABP的依赖注入

2017-12-29 12:54 by 沉睡的木木夕, 610 阅读, 收藏, 编辑
摘要:[TOC] 说说ABP的依赖注入 上篇 "abp运行机制分析" 分析了ABP在启动时,都做了那些事;这篇我们来说说ABP的最核心的一部分:依赖注入(DependencyInjection),以下简称DI; DI的概念我就不说了,关键字出来的资料非常多了,这里就不说了,这里主要讨论的是ABP是如何做到 阅读全文

NPOI导出Excel及使用问题

2017-12-28 12:43 by 沉睡的木木夕, 1388 阅读, 收藏, 编辑
摘要:NPOI导出Excel及使用问题 因为最近公司质管部门提出了一个统计报表的需求:要求导出一个2016及2017年度深圳区域的所有供应商的费用成本计算——一个22列的Excel表,其中还包括多列的合并单元格;说实话,统计报表功能其实我还是很少涉及的,以前都是直接用DataTable+输出流导出Exce 阅读全文

abp运行机制分析

2017-12-26 11:19 by 沉睡的木木夕, 777 阅读, 收藏, 编辑
摘要:abp运行流程 由于公司现在大量向abp框架+react前后端分离架构转型,所以有必要分析abp框架是如何在iis运行的,所以才有这篇文章 c public class MvcApplication : AbpWebApplication { protected override void Appl 阅读全文

Claim-Based Identity for Windows: Technologies and Scenarios

2017-12-20 19:38 by 沉睡的木木夕, 153 阅读, 收藏, 编辑
摘要:Claim Based Identity for Windows: Technologies and Scenarios Active Diretory Federation Services 2.0 基于申明(Claim Based)的身份验证:场景介绍 在开始使用基于申明(Cliam Based 阅读全文

这些天C#面试有感

2017-04-06 23:52 by 沉睡的木木夕, 5137 阅读, 收藏, 编辑
摘要:为何面试 为何面试! 还用问?肯定是因为要离职啊 - -!离职原因就不说了,说来说去就是那么几个原因;这里主要讲我这些天面试遇到的问题,以及对面试的一些感受吧【断续更新😆】 首先来讲面试题 这里我就只列出我认为有意思的或者要吐槽的问题,不然题目太多了 在些面试题前,我先说一下我自己大概的一些情况, 阅读全文

关于并发的那些坑儿

2016-10-20 19:03 by 沉睡的木木夕, 112 阅读, 收藏, 编辑
摘要:1. 说一些并发编程的那些话 一说到并发,脑子首先冲出来的是啥?复杂,高难度,难调试... 总的来说就是——高逼格(逃: 的确,并发编程的确不是那么简单的事,初级程序员基本上都接触不到并发,更何况是编程了;但是,只要你有心并且耐心学习下去,你就会发现,并发编程也不是遥不可及的! 我在学习并发相关的知 阅读全文

修改MVC视图默认搜索规则(IViewEngine)

2016-08-24 11:55 by 沉睡的木木夕, 769 阅读, 收藏, 编辑
摘要:前几天我自己在写一个系统,写到后台管理系统的时候,我突然有个想法就是:想在区域视图下新建文件,单独处理后台一些业务:Area/AdminManager/View/Content/Index.cshtml;这么一个路径,我刚建完就发现有点不对了,因为根据mvc默认的规则就是ControllerName 阅读全文

使用递归方法拼接层级树

2016-08-19 13:16 by 沉睡的木木夕, 1242 阅读, 收藏, 编辑
摘要:递归算法这个是非常常见的一个算法,也是大多数人都会用的,因为它足够简单,通俗易懂!在遍历城市,树等大脑里反应出来的第一方法大多就属于这个了 递归容易使用,但是也容易用坏,我想"内存溢出"这个估计是每个人用递归都会碰到的bug,我为什么还是要写这方面的知识呢,那是因为文章的最后我有一个问题要问 首先我 阅读全文

WebForm控件多字段绑定

2016-06-25 13:33 by 沉睡的木木夕, 415 阅读, 收藏, 编辑
摘要:一、这里的多字段绑定是什么意思? 多字段绑定控件其实就是把两个字段显示在一起作为一个字段现在控件上! 可能读者看了可能还是有点懵逼,说的还是比较抽象!的确,光从这上面的确是无法具体到某特定一种情况!那就直接上代码。 从标题上我们说的是古老的WebForm,咱暂且不论这个是否已经过时,既然遇到了,那就 阅读全文