在上一节:手把手教你写DI_1_DI框架有什么?
我们已经知道我们要撸哪些东西了
那么我们开始动工吧,这里呢,我们找小白同学来表演下
小白同学 :我们先定义一下我们的广告招聘纸有什么:
好,我们实现两种不同的广告类型
小白同学 :好了,我们有服务定义描述了,来创建IServiceProvider
吧
小白同学 :捂脸.gif 我们居然每次都遍历,简直太笨了,赶紧改下,免得大神吐槽
小白同学 :又被吐槽了,再改下
小白同学: 好了,我们简单测试一下
小白同学: 我们来做TypeServiceDefintion 解析支持
小白同学: 你看我写的不错吧
大神:呵呵,这样反射性能你考虑了吗? 泛型你考虑了吗? 还有你每次都重新生成DelegateServiceDefintion?
小白同学: 我知道反射该用IL或者表达式树处理,但观众不好看嘛
大神:呵呵,你不会写吧,你看看人家lemon大神怎么写的 - file
小白同学: 好,我下来学习。 泛型不过是再动态生成一下类型嘛,这样就行啦
小白同学: 哦,还有缓存:
大神: .......我想自闭..... 你都不考虑多线程吗?
小白同学: !!! 我,我,我,我换成它 ConcurrentDictionary<Type, ConstructorInfo> cache
大神:算你NB,Singleton
和 Scoped
你打算怎么做?
小白同学: 简单, copy 一下
大神:我!!!!!!!!!! 我给你一刀!!!!!!!
小白同学: 啊!!!!!!!!!
由于小白同学受伤,本次节目中断,等小白同学养好伤,我们再继续
下一章 小白徒手支持 Singleton
和 Scoped
生命周期
原文地址: https://www.cnblogs.com/fs7744/p/9926523.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com