摘要: 由于需求变化,今天临时写了一个“令牌桶”类。他的功能是:存放令牌并管理令牌的过期时间 不多说了直接上代码: public class TokenBucket { /// <summary> /// 令牌过期时间 /// 默认60秒 /// </summary> public int TokenTim 阅读全文
posted @ 2020-08-15 19:13 Weisskunig 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 在项目开发中经常会遇到这样的场景:查询一个复杂实体,其中一部分字段数据从数据库中直接查出,另一部字段数据从缓存中取出。这里通过AutoMapper和特性,提供一种优雅的编码方法。 这种方法的大概思路是:在成员的特性中配置好[缓存字典的key]、[与缓存字典关联的外键名称]和[缓存字典里目标字段的名称 阅读全文
posted @ 2020-03-30 02:17 Weisskunig 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 我们公司面试初级C#的笔试题有一道题目:“请用代码实现:狗叫,主人被惊醒,猫跑了”。 这是一道很典型的可以使用观察者模式来解答的题目,可惜来做题的伙伴经常没有答上,今天我就从这道小题目开始,由浅到深讲讲观察者模式。 但是在讲观察者模式之前我们先要了解委托和事件。 委托和事件 委托(delegate) 阅读全文
posted @ 2019-07-20 21:20 Weisskunig 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 最近一直在重构系统,看到我们原来的代码里,对于数据权限的实现居然是在查询语句里写死的。 正感慨这祖传代码怎么这么坑,领导就让我重新设计权限模块。这.... 好吧,反正都在重构代码,直接推翻重来也不算填坑。 先开始梳理需求,所谓“数据权限”,即经过普通的菜单、按钮权限后,对用户能获取到的数据再进行一次 阅读全文
posted @ 2019-07-15 04:09 Weisskunig 阅读(750) 评论(0) 推荐(2) 编辑