12 2019 档案
摘要:场景 都知道在不改变原有代码结构的情况下,想要对原有接口进行验证或者审计等功能,基本上无非是装饰器、代理、AOP这三种方式了,装饰器和代理在我们的现有框架上并不是很友好,所以我推荐使用AOP。 使用特性来实现基于AOP的审计需求 传统特性很简单,无非是方法或者类前加上特性即可。 但是在具有业务的情况
阅读全文
摘要:首先说一下反射的优点:动态!!! 首先了解一下C#编译运行过程,大致如下所示: 首先被编译器编译成dll/exe,一般我们发布的都是这个东西,然后在运行的时候会被CLR/JIT编译成机器码。 为什么不直接通过编译器编译成机器码呢?答案就是:通过CLR/JIT可以根据不同的平台编译成不同的机器码,用以
阅读全文
摘要:之前有个业务需要根据用户的数据生成一张word的报表, 按照我之前的做法, 这样也可以解决问题,但是有以下几个不足: 需要强大的word编辑能力,能够手撸复杂的word表格 书签必须和后端代码严格对应,书签的录入需要大量时间 如果需要修改word,需要人为重新校验对应的书签,如果是复杂的word,书
阅读全文
摘要:本文仅针对对Redis不熟悉的开发人员做入门培训。 官方网站 https://redis.io/ 1、Redis是什么? Redis 是一个基于内存的高性能key-value数据库,全称是 (Remote Dictionary Server,远程字典服务)。 2、Redis有什么特点? 速度快,因为
阅读全文
摘要:1、泛型 泛型是framwork2.0推出的新语法,具有延迟声明的特点:把参数类型的声明推迟到调用的时候。泛型不是一个语法糖,是框架升级提供的功能。需要编辑器和JIT(just-in-time compilation、即时编译)的支持。 泛型并不存在性能问题,因为编译器支持 ,在即时编译的时候,编译
阅读全文
摘要:代理模式的参与者有:一个约束、一个代理者、一个被代理者、一个调用者 代理模式的实现很简单;还是那个房子,对于开门这个操作,我更换了一个远程解锁的门,那么我就可以通过这个远程连接的服务器远程解锁,这样我家里人没带钥匙,我也可以远程解锁了,而且不需要钥匙,甚至完全不需要知道锁的存在,我代码实现一下 这样
阅读全文
摘要:发现太过于刻意按照计划来写博客,有点不实际,刚好最近在一个网课上复习AOP的知识,讲到了装饰器模式和代理模式,顺便复习总结一下。 首先了解一下装饰器模式,从名字里面可以看出来,装饰器模式就类似于房子装潢吧,比如刚买的毛坯房,只有一个没有门,直接就可以进去。 首先设计一个房子类Room,实现一个进入方
阅读全文