摘要: 一个方法的启动大体来讲分为两种: 往往在实现一个功能之前,我们会处理一些"前置工作",往往性能主要耗在这个阶段,而且在具体应用场景,如果没有对性能进行考量,前置工作一般不会做到统一处理或预先执行。 在这里,我们只探讨各种方式启动的性能比较,前置工作进行统一处理了。 代码如下: 通过测试运行1000万 阅读全文
posted @ 2017-06-05 12:03 L_yunwen 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 大型系统所需要具备的能力 作为一个大型Web系统,那得有大型系统所具备的能力,能够在业务逻辑上更有优势处理各种“大”(数据量大,并发量大,系统逻辑复杂,需求开发迭代快速)的问题。那么一个这样一个系统应该具有哪些能力呢? 所说的处理能力,也就是从一个非技术层面体现一个系统性能的问题。就像老板告诉你,这 阅读全文
posted @ 2017-03-06 16:54 L_yunwen 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2016-06-17 11:40 L_yunwen 阅读(322) 评论(0) 推荐(1) 编辑
摘要: 以构造函数注入为例: 假如我仅需要执行Method1()方法,我必须创建TestClass实例,那必须通过反射方式创建构造函数参数,其实这里我们已经执行了额外的我们并没有真正使用的对象。 那么既要保持讲对象的创建权限分离,又不产生额外的性能开销。我们可以怎么做到? 我认为的最佳方法:创建IOC统一调 阅读全文
posted @ 2016-06-14 08:50 L_yunwen 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 谈到面向切面的编程,我们很容易关联到面向对象编程(OOP)。个人对这两种编程方式的解释为:两种编程思想只是站在编程的角度问题。 OOP注重的是对象,怎么对对象行为和方法的抽象。如何封装一个具有完整属性以及行为的对象。简单来讲,其实OOP是对一个名词的封装。 AOP注重的是行为,怎么对业务逻辑的行为进 阅读全文
posted @ 2016-06-13 10:19 L_yunwen 阅读(423) 评论(0) 推荐(0) 编辑
摘要: Autofac是一款轻量级的IOC框架,性能高。 Autofac基本使用步骤: 1.创建容器建造者(Builder); 2.对Builder注册类型。 3.Buildder创建容器(Container); 4.Container通过注册的接口类型创建对应实现的接口类型实例; 5.释放Containe 阅读全文
posted @ 2016-06-12 14:23 L_yunwen 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 1.什么是依赖注入 在面向对象的编程语言中,一个对象的行为方法往往需要外界的对象的行为协助才能完成。 例如:小李去ATM机取钱,那小李的取钱的整个行为的完成需要ATM实例取款行为的协助才能完成。 就上面列举的例子,我们们可以总结出:小李去ATM取钱的行为,必须使用ATM才能完成。我们也可以讲:ATM 阅读全文
posted @ 2016-06-12 09:13 L_yunwen 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 在上一讲中我们介绍了MvcHandler,知道在Handler里面注入两个接口属性分别为IControllerFactory和IController的factory和controller。并且通过IOC容器ControllerBuilder进行创建对应的ControllerFactory,Mvc默认... 阅读全文
posted @ 2015-10-28 19:36 L_yunwen 阅读(1075) 评论(0) 推荐(0) 编辑
摘要: 从MvcHandler开始首选MvcHandler显示实现了IHttpHandler接口中的void ProcessRequest(HttpContext context);外层逻辑:1.方法参数(context)类型的装换。(HttpContext类型->HttpContextBase类型) Ht... 阅读全文
posted @ 2015-10-28 00:52 L_yunwen 阅读(1775) 评论(0) 推荐(0) 编辑
摘要: ActionDescriptor抽象类中几个基本的属性: ControllerName:被描述的Controller名称,去除后缀Controller的名称。例如:HomeController则为Home。 ControllerType:属性类型为Type,很好理解为被描述Controller的类型... 阅读全文
posted @ 2015-10-26 23:34 L_yunwen 阅读(457) 评论(0) 推荐(0) 编辑