摘要: /// /// 备注特性 /// public class RemarkAttribute : Attribute { /// /// 备注 /// public string Remark { get; set; } public RemarkAttribute(string remark) { this.Remark = remark; } } /// /// 枚举扩展类 /// public stat... 阅读全文
posted @ 2013-08-21 16:55 幕三少 阅读(1794) 评论(0) 推荐(0)
摘要: 一、ISP简介(ISP--Interface Segregation Principle):使用多个专门的接口比使用单一的总接口要好。一个类对另外一个类的依赖性应当是建立在最小的接口上的。一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口的污染。“不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。”这个说得很明白了,再通俗点说,不要强迫客户使用它们不用的方法,如果强迫用户使用它们不使用的方法,那么这些客户就会面临由于这些不使用的方法的改变所带来的改变。二、举例说明:参考下图的设计,在这个设计里,取款 阅读全文
posted @ 2013-08-21 16:55 幕三少 阅读(816) 评论(1) 推荐(1)
摘要: 上一章我们讲了构造注入与设值注入,这一篇我们主要讲接口注入与特性注入。 接口注入 接口注入是将抽象类型的入口以方法定义在一个接口中,如果客户类型需要获得这个方法,就需要以实现这个接口的方式完成注入。实际上接口注入有很强的侵入性,除了要求客户类型增加前面两种方式所需要的代码外,还必须显示地定义一个新的接口并要求客户类型实现它。 //定义需要注入ITimeProvider的类型... 阅读全文
posted @ 2013-08-21 08:26 幕三少 阅读(2688) 评论(0) 推荐(1)