12 2020 档案
摘要:迪米特法则(Law of Demeter)又叫最少知道原则(Interface Segregation Principle)。 一个对象应该对其它对象有尽可能少的理解;比如有一个A类,A类肯定对自身的属性和方法是熟悉的;如果A类的方法传参的是B类,那么A类对B类也是熟悉;在A类中直接实例化一个C类,
阅读全文
摘要:接口隔离原则,全称Interface Segregation Principle,英文缩写ISP。 客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。 满足接口隔离原则的前提就是接口设计得不应该过于庞大。举个例子,现在设计一个动物animal接口,动物应该都会跑步的。 p
阅读全文
摘要:里氏替换原则,全称Liskov Substitution Principle,英文缩写LSP。 一个程序中如果使用的是一个父类,那么该程序一定适用于其子类,而且程序察觉不出父类和子类对象的区别。也就是说在程序中,把父类替换成它的子类,程序的行为没有任何变化。 关于里氏替换原则的反例有不少,举个例子,
阅读全文
摘要:依赖倒置原则,全称Dependence Inversion Principle,英文缩写DIP。 主程序要依赖于抽象接口,不要依赖于具体实现。高层模块不应该依赖底层模块,两者都应该依赖抽象。抽象不应该依赖细节,细节应该依赖抽象。 简单地理解一下这话的意思。 依赖说的就是耦合性,如果A类依赖于B类,当
阅读全文
摘要:开闭原则,全称Open Closed Principle,英文缩写OCP。 软件中的对象(类、模块、函数等)应该是对于拓展是开放的,而对于修改是封闭的。 当一个模块需要修改的时候,我们不应该直接修改源代码,这样有可能对现有的工作造成影响。应该通过拓展来加需求。一开始就可以把功能模块抽象出来,如果确定
阅读全文
摘要:单一职责原则,全称Single Responsibility Principle,英文缩写SRP。 简单来说,就是一个类应该只有一个变化的原因,在一个类里,只负责一个职责。 如果一个类需要修改,那么就是因为其职责发生变化这个原因才需要修改,如果因为其它原因而去修改,那这个类就是负责了多个职责。 这里
阅读全文
摘要:简单地记录一下Linq的常见用法。下面用几个简单例子来展示。 准备测试数据 public class User { public int ID { get; set; } public string Name { get; set; } public int Age { get; set; } pu
阅读全文
摘要:.Net Core管道(pipeline)是什么? 简单来说,就是从发起请求到返回结果的一个过程,在.Net Core中这里面的处理是由中间件(middleware)来完成。 管道机制解释 用户在发起请求后,系统会自动生成一个请求管道(request pipeline),在这个请求管道中,可以通过r
阅读全文