- 博客(23)
- 收藏
- 关注
转载 .Net中的加密解密
在一些比较重要的应用场景中,通过网络传递数据需要进行加密以保证安全。说到加密,可能大家最熟悉的就是MD5了MD5不可逆加密:原文--加密--密文,密文无法解密出原文MD5实际上只是一种散列运算,或者可以称为单向的加密,即是说无法根据密文(加密后的数据),推导出明文(原数据)MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算...
2019-09-30 16:24:00 353
转载 23种设计模式之模板方法(Template Pattern)
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤AbstractClass:抽象类。用来定义算法骨架和原语操作,在这个类里面,还可以提供算法中通用的实现ConcreteClass:具体实现类。用来实现算法骨架中的某些步骤,完成跟特定子类相关的功能优点:1、封装不变部分,扩展可变部分。 2、提...
2019-09-09 10:49:00 122
转载 23种设计模式之观察者模式(Observer Pattern)
观察者模式(Observer Pattern):定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主体对象,这个主题对象在状态发生变化时,会通知所有观察者。当一个对象改变需要同时改变其他对象,而且他不知道具体有多少对象需要改变的时候,应该考虑使用观察者模式。观察者模式有四个角色:抽象主题、具体主题、抽象观察者、具体观察者。ISubject接口(抽象目标):把所有观察者对象...
2019-09-03 14:49:00 199
转载 23种设计模式之责任链模式(Chain of Responsibility Pattern)
责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。职责链上的处理者负责处理请求,客户只需要将请求发送到...
2019-09-03 10:22:00 176
转载 23种设计模式之装饰器模式(Decorator Pattern)
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。通过采用组合、而非继承的手法,Decorator模式实现了在运行时动态地扩展对象功能的能力,而且可以根据需要扩展多个...
2019-09-02 16:38:00 126
转载 23种设计模式之代理模式(Proxy Pattern)
在软件开发过程中,有些对象有时候会由于网络或其他的障碍,以至于不能够或者不能直接访问到这些对象,如果直接访问对象给系统带来不必要的复杂性,这时候可以在客户端和目标对象之间增加一层中间层,让代理对象代替目标对象,然后客户端只需要访问代理对象,由代理对象去帮我们去请求目标对象并返回结果给客户端,这样的一个解决思路就是今天要介绍的代理模式代理模式:给某一个对象提供一个代理或占位符,并由代理...
2019-08-30 17:52:00 76
转载 23种设计模式之适配器模式(Adapter Pattern)
适配即在不改变原有实现的基础上,将原先不兼容的接口转换为兼容的接口。例如:二转换为三箱插头,将高电压转换为低电压等。动机(Motivate): 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。 那么如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的...
2019-08-30 16:47:00 114
转载 23种设计模式之原型模式(Prototype Pattern)
原型模式使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象分析:孙悟空:根据自己的形状复制(克隆)出多个身外身软件开发:通过复制一个原型对象得到多个与原型对象一模一样的新对象工作原理:将一个原型对象传给要发动创建的对象(即客户端对象),这个要发动创建的对象通过请求原型对象复制自己来实现创建过程创建新对象(也称为克隆对象)的工厂就是原型类...
2019-08-30 15:27:00 87
转载 23种设计模式之单例(Singleton Pattern)
单例在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例(eg:应对一些特殊情况,比如数据库连接池(内置了资源) 全局唯一号码生成器),才能确保它们的逻辑正确性、以及良好的效率。优点:单例的好处就是单例,就是全局唯一的一个实例单例模式会阻止其他对象实例化其自己的单例对象的副本,从而确保所有对象都访问唯一实例缺点:单例可以避免重复创建,但是也会常驻内存除...
2019-08-30 10:44:00 79
转载 23种设计模式之抽象工厂(Abstract Factory Pattern)
抽象工厂当想创建一组密不可分的对象时,工厂方法似乎就不够用了抽象工厂是应对产品族概念的。应对产品族概念而生,增加新的产品线很容易,但是无法增加新的产品。比如,每个汽车公司可能要同时生产轿车、货车、客车,那么每一个工厂都要有创建轿车、货车和客车的方法优点:向客户端提供一个接口,使得客户端在不必指定产品具体类型的情况下,创建多个产品族中的产品对象缺点:增加新的产品等级结构很复...
2019-08-29 17:35:00 50
转载 23种设计模式之工厂方法(Factory Method Pattern)
工厂方法前面我们学习了简单工厂,发现一个问题就是简单工厂集合了矛盾,为了解决这个问题我们针对每一种产品提供一个工厂类。通过不同的工厂实例来创建不同的产品实例。在同一等级结构中,支持增加任意产品这种设计模式就是工厂方法。优点:允许系统在不修改具体工厂角色的情况下引进新产品缺点:由于每加一个产品,就需要加一个产品工厂的类,增加了额外的开发量1 public i...
2019-08-29 17:03:00 91
转载 简单工厂
简单工厂简单工厂模式的工厂类一般是使用静态方法,通过接收的参数不同来返回不同的对象实例。不修改代码的话,是无法扩展的优点:客户端可以免除直接创建产品对象的责任,而仅仅是“消费”产品。简单工厂模式通过这种做法实现了对责任的分割缺点:由于工厂类集中了所有实例的创建逻辑,违反了高内聚责任分配原则,将全部创建逻辑集中到了一个工厂类中;它所能创建的类只能是事先考虑到的,如果需要添加新的...
2019-08-29 16:22:00 85
转载 Nosql之Redis
一、NoSQL起源NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。N...
2019-08-29 14:58:00 102
转载 C# Lambda
一、Lambda演变历史Lambda 1.0 普通方法 private void DoNothing() { Console.WriteLine("This is DoNothing"); } private void Study(int id, string name)...
2019-08-29 14:55:00 81
转载 C# 事件 Event
一、事件是什么微软的定义:和委托类似,事件是后期绑定机制。实际上,事件是建立在对委托的语言支持之上的。事件是对象用于(向系统中的所有相关组件)广播已发生事情的一种方式。任何其他组件都可以订阅事件,并在事件引发时得到通知。简单的来说,鼠标移动、点击等等都是一个事件。但并非唯一的情景。可以定义应针对类引发的事件。通过订阅事件,还可在两个对象(事件源和事件接收器)之间创建耦合。需...
2019-08-29 14:39:00 118
转载 C# 委托Delegate
一、委托是什么在微软的文档是这样解释的:在 .NET 中委托提供后期绑定机制。后期绑定意味着调用方在你所创建的算法中至少提供一个方法来实现算法的一部分。在前面的学习中我们知道程序编译的过程中会编译为中间语言的过程,我们通过反编译看看。 public delegate void NoReturnNoParaOutClass(); public clas...
2019-03-22 00:37:00 118
转载 C# 特性 Attribute
一、特性是什么?特性是可以添加到编程元素(例如程序集、类型、成员和参数)的注释。它们存储在程序集的元数据中,可以在运行时使用反射 API 时访问。F12我们可以查看Attribute的定义#region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089/...
2019-03-16 23:05:00 210
转载 C# 反射Reflection——反射反射程序员的快乐
一、什么是反射反射Reflection:System.Reflection,是.Net Framework提供的一个帮助类库,可以读取并使用metadata。反射是无处不在的,MVC-Asp.Net-ORM-IOC-AOP 几乎所有的框架都离不开反射如下图是程序执行的过程,高级语言经过编译器编译得到dll/exe文件,这里的文件可以跨平台使用,编译后的文件中其实包括了meta...
2019-03-11 23:27:00 246
转载 MVC(一)
一、广义MVCMVC从广义上讲属于一种设计框架,MVC(Model View Controller 模型-视图-控制器)Model(模型)表示数据模型,View(视图)显示数据(UI层),Controller(控制器)处理数据(写入数据库记录)MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让...
2019-03-10 16:05:00 135
转载 C# 泛型(二)
通过前一篇(https://www.cnblogs.com/Dewumu/p/10498831.html)我们大概了解到了泛型的使用,那么泛型还有哪些使用呢?五、泛型之协变、裂变“协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型。“逆变”则是指能够使用比原始指定的类型更泛型(派生程度更小)的类型。所谓协变逆变,都是跟泛型相关,只能放在接口或者委托的泛型参...
2019-03-09 22:02:00 118
转载 C# 泛型(一)
一、什么是泛型 泛型是具有占位符(类型参数)的类、结构、接口和方法,这些占位符是类、结构、接口和方法所存储或使用的一个或多个类型的占位符。泛型集合类可以将类型参数用作它所存储的对象的类型的占位符;类型参数作为其字段的类型及其方法的参数类型出现。泛型方法可以将其类型参数用作其返回值的类型或者其某个形参的类型。二、为什么使用泛型 在编码过程中,我们常常会遇到相似...
2019-03-08 23:31:00 101
转载 ASP.NET MVC Razor
MVC项目中多个页面有相同的东西,框架中提供了几种解决方案:partialView,Layout,section一、partialView分布页1用户控件axcs——partial:重复的小模块<div> <p>Html.RenderPartial 在指定位置添加一个view,返回void 需要放入大括号 </p> ...
2019-03-07 23:51:00 117
转载 ASP.NET 服务端接收Multipart/form-data文件
在网络编程过程中需要向服务器上传文件。Multipart/form-data是上传文件的一种方式。 1 /// <summary> 2 /// 上传工程文件 3 /// </summary> 4 /// <returns></returns> 5 ...
2017-08-24 12:34:00 1725
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人