- 博客(31)
- 收藏
- 关注
转载 07—模板方法模式
定义一个操作的算法的骨架,而将一些步骤延迟的子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法模式来处理。模板方法模式是通过把不变行为搬移到超类,去除子类中的重复代码来体现它的优势。模板方法提供了一个很好的代码复用平台。当不变的和可变的行...
2018-08-23 14:55:00
114
转载 06—原型模式
原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。一般在初始化的信息不发生变化的情况下,克隆是最好的办法。这既隐藏了对象创建的细节,又对性能是大大的提高。浅复制:被复制的对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用都仍然指向原来的对象。深复制:深复制把引用对象的变量指向复制过的新对象,而不是原有对象的被引用的对象。示例:Resum...
2018-07-12 14:11:00
125
转载 05—工厂方法
工厂方法模式(Factory Method):定义了一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类。工厂方法模式在实现时,客户端需要决定实例化哪一个工厂来实现运算类,选择判断的问题还存在,也就是说,工厂方法把简单工厂的内部逻辑判断移到了客户端代码来进行。想要加功能,本来是修改工厂类的,而现在是修改客户端。示例代码:Operaction.cs...
2018-07-12 11:02:00
113
转载 asp.net core 读取appsettings.json配置项
1.新建一个asp.net core项目2.打开appsettings.json,加入配置项{ "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Warning" } }, "StarInfo": { //普通方式...
2018-01-18 15:34:00
209
转载 git命令大全
最近有点忙,希望可以抽时间写写博客,今天在群里发现一张大图,自己感觉很好,就发出来吧。转载于:https://www.cnblogs.com/itmu89/p/7755417.html
2017-10-30 17:19:00
90
转载 02C#操作rabbitmq
以前用过memcacheq、msmq、redis的list做队列,在用memcacheq的时候,还是在linux下,当然这个不是我安装的,我只是用c#操作而已,从那以后对队列处理并发能力有了新的认识,一点一点的使用过msmq,最近用的就是redis的list做队列,个人感觉redis适合中小企业,毕竟不是纯粹做队列的,好了,不说太多,继续rabbitmq。1.环境:windo...
2017-09-20 23:00:00
139
转载 c#系统泛型委托
Action<T> 无返回值的系统泛型委托namespace ConsoleApp1{ public class UserInfo { public int Id { get; set; } public string Name { get; set; } public int Age ...
2017-09-18 21:44:00
84
转载 01windows7下安装rabbitmq
1、直接双击rabbitmq-server-3.6.10.exe,会提示你缺少Erlang安装包,问你是否下载,点击是就可以了,因为我自己下载,我就直接先安装otp_win64_20.0.exe,直下一步下一步就可以了。2.安装rabbitmq-server-3.6.10.exe,我就不全部截图了,直接下一步下一步。3.启动rabbitmq,打开Rabbit...
2017-09-18 21:21:00
87
转载 c#操作mongodb
最近有点忙,换工作了,也加入到996的阵营中,一个字,累啊,哈哈,为自己加油。1.环境: windows10 vs2015 2.下载驱动程序 https://github.com/mongodb/mongo-csharp-driver/downloads 当然我们会使用NuGet3.帮助类DB.cs public class DB { ...
2017-07-31 10:26:00
77
转载 windows 10安装mongodb数据库
简介MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向...
2017-07-29 16:48:00
379
转载 log4net使用简介
以前一直用,感觉还可以,今天引入到新项目中,顺便温习一下吧。官网:http://logging.apache.org/log4net/download_log4net.cgi我用的版本是:1.2.13.0,我有这个dll我就不进行相关操作了,你可以去官网下载,也可以在nuget中下载,自己选不多说,我一会把代码发出来。参考的文章:http://www.cnblogs.com/...
2017-07-12 15:03:00
93
转载 c#使用 NServiceKit.Redis 封装 RedisHelper
在说StackExchange.Redis 的时候说了,因为我们的项目一直.net4.0不升级,没有办法,我说的不算,哈哈,又查了StackExchange.Redis在.net4.0使用麻烦,所以选了NServiceKit.Redis。结构也不说了,直接上代码了。ICache.csusing System;using System.Collections.Generic...
2017-07-04 23:09:00
390
转载 c#使用 StackExchange.Redis 封装 RedisHelper
公司一直在用.net自带的缓存,大家都知道.net自带缓存的缺点,就不多说了,不知道的可以查一查,领导最近在说分布式缓存,我们选的是redis,领导让我不忙的时候封装一下,搜索了两天,选了选第三方的插件,ServiceStack.Redis和StackExchange.Redis以前都用过,不过都是别人封装好的,今天在往项目中整合的时候,我使用的ServiceStack.Redis版本不...
2017-07-04 20:52:00
203
转载 dynamic类型
dynamic类型在运行时做类型检查可用于变量类型、方法参数和返回值类型示例dynamic person = new Student { Name = "张三", Age = 20 };dynamic ViewBag{get ;set;}dynamic d = new System.Dynamic.ExpandoObject();d.Success =...
2017-06-20 14:36:00
143
转载 C#扩展方法
扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。扩展方法三个要素1.静态类2.静态方法3.this关键字staticvoidMain(string[]args){List&...
2017-06-20 14:20:00
86
转载 08—mybatis注解配置二
动态sqlmybatis的注解也支持动态sql。mybatis提供了各种注解,如@InsertProvider、@UpdateProvider、@DeleteProvider和@SelectProvider,来帮助构建动态sql语句,然后mybatis可以执行这些sql语句。以上4个Provider注解都有type属性,该属性指定了一个类。method属性指定该类的方法,其用来提供需...
2017-04-05 16:19:00
152
转载 07—mybatis注解配置一
常用注解Select:映射查询的sql语句。SelectProvider:Select语句的动态sql映射。允许指定一个类名和一个方法在执行时返回运行的查询语句。有两个属性:type和mehtod,type属性是类的完全限定名,method是该类中的那个方法名。Insert:映射插入的sql语句。InsertProvider:Insert语句的动态sql映射。允许指定一个类名和一个方...
2017-03-27 11:28:00
102
转载 06—mybatis缓存机制
MyBatis缓存分为一级缓存和二级缓存一级缓存MyBatis的一级缓存指的是在一个Session域内,session为关闭的时候执行的查询会根据SQL为key被缓存(跟mysql缓存一样,修改任何参数的值都会导致缓存失效)1.创建表CREATE TABLE `tb_user` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `na...
2017-03-10 15:49:00
105
转载 05—动态sql
1.创建表CREATE TABLE tb_employee ( ID INT(11) PRIMARY KEY AUTO_INCREMENT, loginname VARCHAR(18), PASSWORD VARCHAR(18), NAME VARCHAR(18) DEFAULT NULL, SEX CHAR(2) DEFAULT NULL, ...
2017-03-06 11:15:00
73
转载 04—mybatis的关联映射
mybatis的关联映射一对一一对多多对多一.一对一(一个人只能有一个身份证号)1.创建表创建表tb_cardCREATE TABLE `tb_card` (`id` int(11) NOT NULL AUTO_INCREMENT,`code` varchar(20) DEFAULT NULL,PRIMARY KEY (`id`))INSE...
2017-03-01 21:52:00
125
转载 03—mybatis的基本用法02
深入Mapper XML映射文件MyBatis 的真正强大在于它的映射语句,也是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好。SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序):select...
2017-02-24 16:40:00
93
转载 02—mybatis的基本用法01
深入mybatis的配置文件(mybatis-config.xml)MyBatis的配置文档结构顶层configuration 配置properties 属性settings 设置typeAliases 类型命名typeHandlers 类型处理器objectFactory 对象工厂plugins 插件environments 环境|-e...
2017-02-18 22:03:00
108
转载 01—mybatis开山篇
什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录...
2017-02-16 16:06:00
97
转载 03—Code First
CodeFirst模式我们称之为“代码优先”模式,使用CodeFirst模式进行EF开发时开发人员只需要编写对应的数据类(其实就是领域模型的实现过程),然后自动生成数据库。这样设计的好处在于我们可以针对概念模型进行所有数据操作而不必关系数据的存储关系,使我们可以更加自然的采用面向对象的方式进行面向数据的应用程序开发。下面开工了创建一个控制台应用程序...
2016-04-12 22:31:00
80
转载 02—EF初次体验
新建个表,我用的是sql server2014,我会把文件发上来,如果是低版本的,可以执行语句,数据库就自己创建吧。USE [testdb]GOCREATE TABLE [dbo].[Product]( [ID] [int] IDENTITY(1,1) NOT NULL, [ProductId] [nvarchar](50) NULL, ...
2016-04-11 22:48:00
93
转载 01—EF开山篇,ORM介绍
我是2014年接触的EF,用了一年多,感觉非常的方便,现在的公司没有使用,最近有朋友接了两个项目找我帮忙,都想使用EF,自己也有断时间没有使用,借着这个机会复习下。Entity Framework,简称EF,是微软推出的基于Ado.Net的数据库访问技术,是一套ORM框架,那我们就从ORM开始吧。一、ORM简介 对象关系映射(Object Relational Map...
2016-04-09 09:52:00
176
转载 04—代理模式
简单的描述一下,其实代理模式挺好理解的,比如果你的朋友出国了,让他帮你在国外买个苹果手机,这就是代理模式了。代理模式:为其他对像提供一种代理以控制对这个对像的访问。上代码: //Subject类,定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy abstract class Subject ...
2016-04-09 09:02:00
83
转载 03—装饰模式
描述:动态的给一个对象添加额外的职责,就增加功能来说,装饰模式比生成子类更加的灵活。装饰模式的优点:把类中的装饰功能从类中搬移去除,这样可以简化原有的类。有效的把类的核心职责和装饰功能区分开了,而且可以去除相关类中重复的装饰逻辑。直接上代码: /// <summary> /// 定义一个对象接口可以给这些对像动态添加职责 ...
2016-03-13 19:07:00
73
转载 02—策略模式
描述:是用来封装算法的,但在实践中,我们发现可以用来封装任何类型的规则,只要在分析过程中听到需要在不同时间应用不同的业务规则,就可以考虑使用策略模式处理这种变化的可能性。简单说就是“策略模式封装了变化”。实例:用一个超市促销活动收银的小例了来讲解一下,比如双11了,我们的超市要举行促销活动,活动类型分类:正常收费、满300返100、打8折三种。那我们先分析一下,...
2016-02-25 21:08:00
72
转载 01—简单工厂
描述:封装一基类,都继承基类,当需要实例化不同对象时,可以通过一个工厂类实现。实例:通过一个计算器小程序来实现。代码实现如下:运算基类 /// <summary> /// 运算类 /// </summary> public class Operaction { priva...
2016-02-25 20:49:00
84
转载 00-c#与设计模式目录
工作5年多了,使用的语言是asp.net(c#),感觉自己遇到了技术瓶颈,以前一直忙着做兼职、接私活、加班,没有时间静下来好好想想自己的发展方向,就着春节期间放假,没事自己躺在老家的火炕上,问自己想要什么,以后想干什么,不得不承认自己很喜欢技术,可能和自己的性格有关吧,我是个性格内向的人,好像好多喜欢技术的人都是这样,做技术的发展方向也不少,也不多,随便说几个,说错了,就当听个...
2016-02-25 20:37:00
67
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人