摘要: 先看代码: 1 //工程方法 2 public class Create 3 { 4 static void Main() 5 { 6 IBuySome buySome = new FactoryBuy().GetBuy(ClassType.ByFruits); 7 } 8 } 9 public i 阅读全文
posted @ 2021-07-20 14:49 小换哥 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 创建型设计模式关注类怎么创建(实例化) 单例模式:就是一个进程中只有一个实例。为啥要用单例,很多人误解他的使用条件。单例是这个类实例化很消耗资源,而且频繁使用,就用单例模式。当我是小小白时,就只是以为调用里面的方法、属性操作很方便!还有人误解为多线程才用单例。单例也不是越多越好。因为这个实例是静态的 阅读全文
posted @ 2021-07-20 12:33 小换哥 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 设计模式六大原则:单一职责 、里氏替换、 依赖倒置、 最小接口、 迪米特、 开闭 这些只能叫原则,叫建议,没有实际的招数 23种设计模式,就是具体的招数,他们可以分成三大类。1、创造型2、结构型、3行为型。 创造型设计模式关注对象的创建。就是咱们的new().单例模式、原型模式、工厂方法、抽象工厂、 阅读全文
posted @ 2020-12-17 21:26 小换哥 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 昨天说了依赖注入要用反射去创建实例。 注入的前提是注册了。注册分两种:1、代码注册(手动注册到容器中)2、配置文件注册(代码自动搜寻配置文件反射注入进去) 这里上代码吧:控制反转主要是依赖抽象。这里就定一接口 先讲思路: 1、首先注册。定义一个容器(这里用Dictionary<接口名称,实现类型>) 阅读全文
posted @ 2020-11-03 00:05 小换哥 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 来之前应该先知道为什么咱们代码会分层。ui、bll、dll。。。 1:代码重用。 2:可扩展。 3:分工明确。(面向对象) 但是分层是引用业务层啊、数据层的dll。然后直接实例化类型。 依赖倒置原则DIP:系统架构时,高层模块不应该依赖于低层模块(也就是不直接引用dll,然后直接new class( 阅读全文
posted @ 2020-11-01 23:10 小换哥 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 自定义HttpHandler,是为了处理具体的一个请求。比如请求image,就可以做防盗链。 捋一捋HttpHandler可以做什么功能: 1、防盗链(加水印) 2、处理访问具体的文件。比如.xxx 3、伪静态 4、RSS 5、robot ==扩展httphandle,就可以为所欲为的处理,跳出MV 阅读全文
posted @ 2020-10-27 23:24 小换哥 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 浏览器输入网址开始 1:这个请求首先回去DNS。(网站回去DNS注册自己的网址对应的IP和端口) 2:DNS解析后。返回这个网址注册的IP和端口给浏览器。 3:浏览器把IP和端口拿到去请求这个ip端口的服务器。 4:服务器通过监听咱们部署的网站端口。然后转发给相应的ISAPI(根据后缀转发)。ISA 阅读全文
posted @ 2020-10-27 22:51 小换哥 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 在2020年,微服务、集群...高并发高吞吐的年代,你要不会说个与其的一二三,那你很难涨一波工资。那这些东西的基础,就是先研究代理Nginx.这个是干嘛的呢,就是把你很多很多的服务(weapi)挂在他(Nginx)上,也就是人家给你(Nginx)代理。客户端首先访问Nginx,然后Nginx给你转发 阅读全文
posted @ 2020-10-15 15:21 小换哥 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 一直以来自己从数据库取数据,都是遍历SqlDataReader。通过SqlDataReader的string索引器获取数据。 后来自己研究反射,可以动态的将SqlDataReader的数据赋值给泛型T。省了不少收写代码的工作。但是随着业务量的增加,一直使用反射就会有性能和资源的损耗。为了解决这个问题 阅读全文
posted @ 2020-07-29 12:22 小换哥 阅读(589) 评论(0) 推荐(0) 编辑