上一页 1 2 3 4 5 6 ··· 10 下一页
摘要: 一..NetFramework 1.0 1.1时代 以前学习委托,大部分流程都是在这里声明委托,实例化的时候不得不声明一个方法,在写一个方法不得不传进入,这个方法与声明的委托参数返回值吻合,然后把这个方法传递进去。 namespace LamdaHistory { public static cla 阅读全文
posted @ 2020-04-06 10:12 David.Meng 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 一.数据准备 public class Student { public string Name { get; set; } public int Age { get; set; } } var studentList = new List<Student>(); Student student1 阅读全文
posted @ 2020-03-28 14:11 David.Meng 阅读(203) 评论(0) 推荐(1) 编辑
摘要: 一.场景 我们使用手机打电话的时候,因为手机没有电了,所以需要先给手机充上电,我记不住电话号码,所以需要再打开电话本,我习惯戴上耳机打电话,所以最后要戴上耳机打电话。也就是说在这个场景下:构造手机对象的时候,手机对象依赖于充电器对象,同时依赖电话本对象,同时也依赖于耳机对象 二.接口 2.1.手机接 阅读全文
posted @ 2020-03-25 18:04 David.Meng 阅读(341) 评论(0) 推荐(1) 编辑
摘要: 开发提供数据的WebApi服务,最重要的是数据的安全性。那么对于我们来说,如何确保数据的安全是要思考的问题。 在ASP.NET WebService服务中可以通过SoapHead验证机制来实现,那么在ASP.NET WebApi中我们应该如何保证我们的接口的安全呢? 什么是JWT? JSON Web 阅读全文
posted @ 2020-03-22 19:45 David.Meng 阅读(3524) 评论(1) 推荐(0) 编辑
摘要: 为了便于理解,加深记忆。得举一个最难让人忘记的应用场景,因为之前我也是学了忘,忘了学,当你想不起来观察者模式的时候,通过回忆这个例子,就能很快想起观察者模式的应用一.环境 当我们去上课的时候,需要记录老师的电话号码,那么当这位老师变更了他的电话号码,那么需要再上课的时候,老师主动告知同学们,同学们重 阅读全文
posted @ 2020-03-14 20:11 David.Meng 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 一.为什么分层? 不分层封装的话,下面的代码就是上端直接依赖于下端,也就是UI层直接依赖于数据访问层,分层一定要依赖抽象,满足依赖倒置原则,所以我们要封装,要分层 下面这张图和传统的三层略有不同,不同之处在于,UI层不直接依赖于业务逻辑层,而是UI层依赖于业务逻辑抽象层IBLL,业务逻辑层不直接依赖 阅读全文
posted @ 2020-02-15 11:39 David.Meng 阅读(959) 评论(0) 推荐(3) 编辑
摘要: 一.数据准备公司表Company和员工表Employee两张表创建主外键强关系,员工表Employee的Company_ID是公司表Company的外键,如下图所 二.解读主外键生成的实体特殊性 Company实体-主外键关系的话,EF生成的实体,主表Company实体有个子表Employee的集合 阅读全文
posted @ 2020-02-03 18:14 David.Meng 阅读(1090) 评论(0) 推荐(1) 编辑
摘要: 一.EF对数据做什么样的操作,是根据EF的上下文实体状态决定,实体状态有以下5种状态,下面我们就分别看下这5种状态 数据准备,我们看到学生表里有20000名学生记录,最后1位学生的学生编号为0000020000 1.Detached-实体跟上下文压根没关系 我们看到我新创建了名学生,学号为00000 阅读全文
posted @ 2020-01-30 08:51 David.Meng 阅读(629) 评论(0) 推荐(0) 编辑
摘要: 1、线程池是单例的,全局唯一的,设置线程池最大活跃线程数是5,设置后,允许同时并发的Task只有5个,我们开启100个task去做任务,从最后的输出结果看到,虽然开启了100个task,但是线程id始终是那5个如图所示 2、结论:证明task是来源于线程池的,而且线程是重用的 阅读全文
posted @ 2020-01-12 18:12 David.Meng 阅读(475) 评论(2) 推荐(0) 编辑
摘要: 一.为什么有Consul? 在微服务架构中,每1个服务都是集群式的提供服务,订单服务在10台服务器上都有,那么用户的请求到达,获取哪台服务器的订单服务呢?如果10台中有的订单服务挂了怎么办?10台服务器扛不住了,水平扩展又新增加了1台服务器提供订单服务,怎么让用户请求知道有新的服务器提供订单服务了? 阅读全文
posted @ 2019-12-29 11:20 David.Meng 阅读(5431) 评论(0) 推荐(1) 编辑
摘要: 这个场景跟《手写Unity容器--第一层依赖注入》又不同,这里构造Student的时候,Student依赖于1个Teacher,Teacher又依赖于1个Computer,而Computer又依赖于Power学生学习依赖于老师,老师教学依赖于电脑,电脑工作依赖于电源,这种链式依赖的关系 一.条件1. 阅读全文
posted @ 2019-12-27 21:24 David.Meng 阅读(416) 评论(0) 推荐(1) 编辑
摘要: 这个场景跟《手写Unity容器--极致简陋版Unity容器》不同,这里构造AndroidPhone的时候,AndroidPhone又依赖于1个IPower,因为打电话没电了需要充电。 一.条件1.1.容器-造对象的工厂1.2.集合-存储类型的集合,因为有了类型才能反射创建对象1.3.反射1.4.特性 阅读全文
posted @ 2019-12-22 16:39 David.Meng 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 模拟Unity容器实例化AndroidPhone 一.条件1、容器-造对象的工厂2、集合-存储类型的集合,因为有了类型才能反射创建对象3、反射4、特性-相当于配置(注:因为一个类里面有那么多属性,那么多方法,那么多构造函数,不是每一个都需要注入,所以这里特性就是个标记,标记哪些属性,方法,构造函数需 阅读全文
posted @ 2019-12-22 14:19 David.Meng 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 数据库加锁是修改哪一条加锁,还是在页上加锁,还是在表上加锁,数据库来决定 如果你更改的是两条记录,就在两条记录上加锁,如果你更改的是很多条,这个时候数据库一看一条一条加锁太麻烦,给整个页加锁更省事,或者给整个表加锁更加省事 加锁的级别越大,数据库越省事,数据库越省事,并发性越差,修改一条记录如果给表 阅读全文
posted @ 2019-11-13 13:38 David.Meng 阅读(1041) 评论(0) 推荐(0) 编辑
摘要: Controller继承ControllrBase,ControllerBase继承IController,而IController里只有一个Execute方法 1、ControllrBase里的Execute(),里面调用了ExecuteCore(),而ExecuteCore()是个抽象方法,抽象 阅读全文
posted @ 2019-09-23 10:47 David.Meng 阅读(699) 评论(0) 推荐(1) 编辑
摘要: 无论ViewResult还是JsonResult都继承ActionResult,ActionResult里只有一个方法ExecuteResult 1、Controllr的Json方法 实际上是new JsonResult,然后执行ExecuteResult方法,指定了ContentType-appl 阅读全文
posted @ 2019-09-12 18:16 David.Meng 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 1、常规写法,难道我们每次都new一个服务,如下面的UserService和CompanyService然后调用服务的Find方法去操作,为什么我们不让UserService和CompanyService服务注入进来呢? public ActionResult Index() { DbContext 阅读全文
posted @ 2019-08-31 14:01 David.Meng 阅读(764) 评论(0) 推荐(1) 编辑
摘要: 我们知道MVC请求进来,然后路由匹配,然后找到控制器和Action,最后会调用Action方法,但是大家想想控制器是个普通的类,Action是个普通的实例方法,要想调用Action必须先实例化控制器,那么MVC中如何实例化控制器的呢? 1、MVC请求进来会先进入到UrlRoutingHandler里 阅读全文
posted @ 2019-08-28 18:20 David.Meng 阅读(681) 评论(0) 推荐(0) 编辑
摘要: 需求:我们需要给已经开发好的服务如这里的UserService,添加额外的执行逻辑,但是又不想破坏原有的服务,如:我们需要给UserService添加监控逻辑,监控的目的是看UserService服务里的RegUser方法和GetUser方法的执行时间消耗 1、定义1个用户接口 2、实现用户这个接口 阅读全文
posted @ 2019-07-17 18:15 David.Meng 阅读(444) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2019-07-15 13:56 David.Meng 阅读(38) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 10 下一页