摘要: 以在MVC中使用Castle Windsor为例 1.第一步要想使我们的Controller能够使用依赖注入容器,先定义个WindsorControllerFactory类, using System; using System.Web; using System.Web.Mvc; using Sy 阅读全文
posted @ 2016-03-23 17:26 BornReady 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 以添加log4net日志框架为例进行讲解 1.通常log4net的配置参数放在单独的配置文件中,但也可以写在web.config中,这里在我们的web项目中添加log4net.config应用配置文件 2.在程序启动的时候将LoggingFacility添加到容器中 protected overri 阅读全文
posted @ 2016-03-23 13:35 BornReady 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 在系统我们自定一个 MySettingProvider,并添加到配置集合中,定义一些邮件参数覆盖默认参数,然后通过IOC容器得到SmtpEmailSender实例,调用send方法就实现了,实现代码如下: 1.自定义配置类 public class MySettingProvider : Setti 阅读全文
posted @ 2016-03-22 14:19 BornReady 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 从上往下说起,框架使用castle拦截器,拦截实现了IApplication、IRepository接口的所有方法,和使用了UnitOfWork 特性的方法,代码如下 internal class UnitOfWorkInterceptor : IInterceptor { private read 阅读全文
posted @ 2016-03-22 11:06 BornReady 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 共有两种方法: 1.使用migrate.exe 具体使用方法请参考 "msdn migrate使用方法" ,这里只做介绍 复制migrate.exe 在使用 NuGet 安装实体框架时,migrate.exe 位于下载包的 tools 文件夹中。在 \packages\EntityFramework 阅读全文
posted @ 2016-03-15 13:48 BornReady 阅读(609) 评论(0) 推荐(1) 编辑
摘要: 1.简单工厂模式 2.工厂模式 工厂模式与简单工厂模式的不同在于,每个操作类都有自己的工厂,而且把逻辑判断交给了客户端,而简单工厂的逻辑判断在工厂类里边,当增加新的操作类时,简单工厂需要修改工厂类,而工厂模式不需要 3.抽象工厂模式 抽象工厂模式不同于以上两种工厂模式,抽象工厂模式下,每个产品系列, 阅读全文
posted @ 2016-02-24 09:16 BornReady 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 1.类 2.关联关系 单向关联 双向关联 自关联 多重性关联 聚合关系 A是B的组成部分,但A又可以独立存在 组合关系 A是B的组成部分,但A又不能脱离B独立存在 3.依赖关系 通常表现为,A对象的实例作为B对象一个方法的参数时 4.继承关系 5.实现接口 阅读全文
posted @ 2016-02-23 11:39 BornReady 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 1. 使用nuget添加MiniProfiler.EF组件 2. 在Global文件中配置MiniProfiler protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.Regis 阅读全文
posted @ 2016-02-01 15:32 BornReady 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 自引用 public class PictureCategory { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public virtual int CategoryId { get; set; } public virt 阅读全文
posted @ 2016-02-01 09:06 BornReady 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 多态 多态是由继承实现的,我们有一个基类,基类里定义了虚方法,当子类继承该基类时我们通过override关键字重写父类虚方法,此时不同的子类会有不同的实现,当我们调用这些子类的同一个方法时,却又不同的表现,这称之为多态 此时我们会有疑虑,我们为什么要使用多态呢,既然我们需要不同的实现,我们直接实例化 阅读全文
posted @ 2016-01-29 11:29 BornReady 阅读(251) 评论(0) 推荐(0) 编辑