自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

高级项目经理、专注于技术架构、分享项目管理及职场心得

项目管理、职场心得、Java开发、C#开发、IT技术架构、数字化转型

  • 博客(33)
  • 资源 (44)
  • 收藏
  • 关注

原创 .Net与Java的思考

首先说明一下,本人专注于C#开发5年,期间做过一年多的IOS开发,现在计划转Java开发,有多个原因吧,主要还是觉得C#的生态没有Java好,基本上所有的大公司都是用Java,而使用C#的非常少, 今天早上在来公司以后,在看电脑时,脑子里突然有一个想法,.Net开发是不是也与Windows一样,要让大家快速上手,而本身互联网具有天然的垄断特性,是少数的几个大公司,掌握着大部分的互联网流量的,而要支

2017-06-27 10:17:48 293

转载 JavaScript闭包(Closure)

最近在整理JavaScript学习笔记时,总是在考虑闭包的用处是什么?JavaScript中为什么要引入闭包?是为了解决什么问题JavaScript引入了闭包呢? 一、变量的作用域 要理解闭包,首先要理解JavaScript变量作用域,JavaScript变量作用域有两种,一种是全局变量、另外一种是局部变量,由于JavaScript是链式作用域,所以子函数可以调用父函数的变量(从本级作用域一级一

2017-06-20 20:54:52 356

原创 设计模式 - 抽象工厂模式

在工厂方法模式中,我们使用一个工厂创建一个产品,也就是说一个具体的工厂对应一个具体的产品。但是有时候我们需要一个工厂能够提供多个产品对象,而不是单一的对象,这个时候我们就需要使用抽象工厂模式。  在讲解抽象工厂模式之前,我们需要厘清两个概念      产品等级结构:产品的等级结构也就是产品的继承结构。例如一个为空调的抽象类,它有海尔空调、格力空调、美的空调等一系列的子类,那么这个抽象类空调和他

2017-06-17 12:53:42 631

原创 设计模式 - 工厂方法模式

在简单工厂模式中只提供一个工厂类,该工厂类处于对产品类进行实例化的中心位置,它需要知道每一个产品对象的创建细节,并决定何时实例化哪一个产品类。简单工厂模式最大的缺点是当有新产品要加入到系统中时,必须修改工厂类,需要在其中加入必要的业务逻辑,这违背了“开闭原则”。此外,在简单工厂模式中,所有的产品都由同一个工厂创建,工厂类职责较重,业务逻辑较为复杂,具体产品与工厂类之间的耦合度高,严重影响了系统的灵活

2017-06-16 20:20:41 367

原创 设计模式 - 简单工厂模式

在设计原则中有这样一句话“我们应该针对接口编程,而不是正对实现编程”。但是我们还是在一直使用new关键字来创建一个对象,这不就是在针对实现编程么?  针对接口编程,可以隔离掉以后系统可能发生的一大堆改变。入股代码是针对接口而写,那么可以通过多态,它可以与任何新类实现该接口。但是,当代码使用一大堆的具体类时,等于是自找麻烦,因为一旦加入新的具体类,就必须要改变代码。在这里我们希望能够调用一个简单的方法

2017-06-16 19:06:28 294

转载 面向对象设计原则概述

对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平。      面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模式中,

2017-06-16 16:36:10 456

原创 设计模式-观察者模式

1、基本定义观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象的状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。在这里,发生改变的对象

2017-06-16 16:14:35 404

转载 C# 中的委托和事件

1、引言  委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件

2017-06-16 11:48:30 385

原创 UML类图几种关系说明

####1、UML类图表示   在正式表示UML类图的关系前,先来说一下UML类图怎么表示以及各种符号在UML类图中表示什么意思,,类使用包含类名、属性和操作且带有分隔线的长方形来表示,如定义一个Person类,它包含属性name、age和weight,以及操作Eat(),Sleep(),在UML类图中该类如图1所示,类一般由三部分组成:   图1 类的UML图示   (1) 第一部分是类名:

2017-06-15 12:40:38 775

原创 Asp.Net MVC 路由配置

1、概述  在以前的Web Form开发中,我们请求的URL都对应一个具体的文件,如/System/News.aspx?id=1 ,则在对应的网站目录下面存在一个News.aspx的文件,而ASP.NET路由使您能够使用不必映射到网站中的特定文件的URL。因为URL不必映射到文件,您可以使用描述用户操作的URL,因此用户更容易理解。ASP.NET MVC框架和ASP.NET动态数据扩展路由以提供仅在

2017-06-12 17:21:43 1227

原创 ASP.NET MVC过滤器

1、引言在ASP.NET MVC开发中,在控制器中定义的方面通常与界面上的View是一对一的关系,例如点击一个连接或者提交一个表单,如当用户点击一个连接,请求被路由到目的路由,相应的方法被调用,有时我们想要在方法执行之前或者执行之后指向一个额外的逻辑操作,为了支持这种需求,在ASP.NET MVC中提供了过滤器, 过滤器是自定义类,它们提供了一种声明性和程序性的方法来向控制器操作方法添加动作前和动作

2017-06-10 15:21:20 503

原创 EF操作-事务

在软件开发过程中,我们经常会遇到这样的场景,主从表,主表添加一条记录(主键自动增长),从表添加多条记录,同时从表需要用到刚刚添加的主表的自动增长的主键id,接下来我们就演示一下在EF中怎么实现事务,我们假设TUsers表与TUsersExtInfo表,代码如下: class Program { static void Main(string[] args) {

2017-06-09 18:56:34 1664

原创 EF操作-删除记录

方法一、先查询出来,然后在删除,代码如下: CodeFirstContext context = new CodeFirstContext(); TUsers user = context.Users.Where(d => d.UserId == 0).FirstOrDefault<TUsers>(); if (user != null)

2017-06-09 17:50:07 2606

原创 EF操作-修改部分字段

在做项目的时候,肯定会用到更新数据库中的某条记录,而更新的时候,往往是更新数据库中的某几个字段,而不是全部字段,在此我们假设一个实体(TUsers)有如下字段:UserId,Account,Password,CreateDate,其中UserId是主键,自动增长。 修改方式一(修改全部字段)会比较麻烦CodeFirstContext context = new CodeFirstContext()

2017-06-09 17:36:13 8647 1

原创 EF之Code First设置主键时不自动增长

在做项目时,有时我们设置主键时,并不希望自动增长。代码中设置如下: public class TUsers { [Key] [DatabaseGenerated(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.None)]//不自动增长 public in

2017-06-09 15:24:45 9840

翻译 EF之Code First使用Fluent API设置实体之间的关系

参考官方文档:Entity Framework Fluent API - Relationships或者:Entity Framework Code First (五)Fluent API - 配置关系

2017-06-09 14:56:30 1517

原创 EF之Code First设置主外键关系(三)

1、前言前两篇博文说的主外键关系都是一对一的外键关系,下面我们来说另外一种情况,一个主类中包含多个外键关键,基本代码如下。 public class B { [Key] public int Id { get; set; } public string Name { get; set; } }

2017-06-09 14:46:53 3183

原创 EF之Code First设置主外键关系(二)

1、前言上篇博文说了设置外键名称的问题,这篇博文我们来说说外键应该在那个实体类中定义的问题。2、实战示例现在有三个实体类,TUsers(用户类)、TRoles(角色)类,TUsersRoles(用户角色类),一个用户可以对应多个角色,一个角色可以对应多个用户,用户与角色是多对多的关系。 方法一(在主实体中定义),代码如下: public class TUsers { [Ke

2017-06-09 14:36:59 3747

原创 EF之Code First设置主外键关系(一)

指定类外键有注释(DataAnnotation)和FluentAPI两种方式,下面我们主要使用DataAnnotation指定外键关系 第一种方式//1-指定导航属性,会自动生成外键,命名规则为:“对象名称_主键名” public class TUsers { [Key] public int UserId { get; set; } pub

2017-06-09 14:23:01 20570

原创 EF之Code First代码优先

1、前言Code First顾名思义,通告代码创建实体与数据库。示例中我们会创建表,分表是TUsers,TRoles、TUsersRoles。2、Code First实战示例打开VS2013,创建一个控制台引用程序,命名为MyCodeFirstDemo,如下图: 选中解决方案资源管理器中的项目,点击右键,选择”管理NuGet程序包” 搜索EntityFrameWrok,搜索到以后,点击安

2017-06-09 11:29:51 6447

原创 EF之Model First模型优先

1、前言Model First顾名思义,先有实体模型,后有数据库,在本例中我们创建一个RightSystemDb的数据库,包含三张表,用户表、角色表、角色用户表。2、Model First实战示例首先打开VS2013创建一个控制台应用程序,命名为MyModelFirstDemo,创建完成以后,如下图: 选中解决方案中的项目名称,点击右键,选择“新建项”,如下图: 选中”ADO.NET实体

2017-06-09 10:20:57 2382 1

原创 EF之Database First数据库优先

1、前言Database First说明需要现有数据库,然后在有实体类,在本例中我们使用NorthWind数据库,废话不多说了,直接代码截图。2、Database First实战示例首先打开VS2013,创建一个控制台应用程序DatabaseFirstDemo,如下图: 选中解决方案资源管理器里面的项目,右键选择“添加项”,选择”ADO.NET实体数据模型”,并命名为MyDBFirstMode

2017-06-08 18:15:47 651

原创 Entity FrameWork介绍

1、Entity FrameWork概述  Entity Framework(简称EF) 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案。该框架曾经为.NET Framework的一部分,但version 6之后从.NET Framework分离出来,ADO.NET Entity Framework 以 Entity Data Model (EDM)

2017-06-08 16:59:55 1261

原创 C#6.0新特性

C#6.0新特性,包括自动属性初始值、Lambda表达式用作属性等。

2017-06-08 11:30:26 331

原创 C#5.0新特性

1、异步编程  在.Net 4.5中,通过async和await两个关键字,引入了一种新的基于任务的异步编程模型(TAP)。在这种方式下,可以通过类似同步方式编写异步代码,极大简化了异步编程模型。如下式一个简单的实例: 示例代码暂时没有整理好,整理好了补上。参考资料 1、C# 5.0 新特性——Async和Await使异步编程更简单 2、基于事件的异步编程模式 3、基于任务的异步模式 4、那

2017-06-08 10:36:04 802

原创 C#4.0新特性

C#4.0新特性,包括泛型的协变与逆变、动态类型、命名参数、可选参数

2017-06-07 18:22:59 539

原创 C#3.0新特性

C# 3.0 语言和编译器引入了多种新的语言功能。这些新的语言构造可以分别用在各种上下文中,并且可以共同完成语言集成查询 (LINQ)。下表列出了新增的 C# 3.0 语言功能: 1、隐式类型的本地变量和数组(类型推断)1.1、概述  可以赋予局部变量推断“类型”var 而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型或

2017-06-07 15:56:40 282

原创 C#泛型示例

以前在做项目的时候,也经常会使用到泛型,但是对于泛型接口、泛型约束等总是理解的比较模糊,现在将泛型的使用总结如下1、泛型约束1.1、泛型约束说明   在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类型种类施加限制。如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误。这些限制称为约束。约束是使用 where 上下文关键字指定的。下表列出了六种类型的约束:

2017-06-07 14:41:00 441

原创 C#2.0 新特性

C# 2.0新特性,包括泛型、迭代器、可空类型、匿名方法、委托的协变与逆变、静态类等。

2017-06-07 11:48:45 414

转载 net framework体系结构

术语解释 CIL(common intermediate language):公共中间语言。.net框架下各种种类、版本的编程语言在经过编译后生成的中间语言(后缀为.il),与平台无关、与语言无关,只要机器上运行了.net框架都可以运行.il文件。  BCL(basic class library):基类库。包含基础的类型(比如Console、string),为IL提供基础的编程支持,所有面向CI

2017-06-07 11:21:04 2072

原创 .net framework、C#、CLR、Visual Studio的对应关系。

.net framework、C#、CLR、Visual Studio的对应关系以及简要概述 一、版本对应关系 C#版本 .NET Framework版本 CLR版本 VS版本 描述 新特性 C#1.0 .NET Framework1.0 CLR1.0

2017-06-07 10:37:31 1408

原创 C#委托之Action、Func与Predicate用法

C#委托之Action与Func用法 一、Action,可以传入参数,没有返回值的委托   1、调用方法static void Main(string[] args) { Action<int, int> addcalc = new Action<int, int>(AddCalc); addcalc(2, 3); Console.ReadKey(); }

2017-06-06 15:47:21 1162

原创 C# 委托的比较 delegate、Action、Func、predicate

一、委托的定义  1、官方定义    委托是一种定义方法签名的类型。当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联。您可以通过委托实例调用方法。  2、个人理解    委托就是执行方法(函数)的一个类。事件是一种特殊的委托 二、如何申明委托及各种申明的区别  1、使用delegate关键字申明委托,如下:    public delegate int CalcDelega

2017-06-06 12:24:35 1051 1

数据持久化之Plist

代码展示了使用NSUserDefaults保存与删除数据,另外列举了Plist文件的创建、修改,删除

2014-10-14

StoryBoard与xib互相调用

代码展示了StoryBoard与xib文件的互相调用以及storyboard直接的互相调用

2014-10-13

IOS StoryBoard传递参数

列举了IOS StoryBoard传递参数的两种方法,包括使用prepareForSegue与广播两种方式

2014-10-13

StoryBoard视图切换

示例说明了StoryBoard视图切换的几种方式以及如何返回

2014-10-10

StoryBoard使用示例

示例列举了使用StoryBoard的详细情况,以及使用多个StoryBoard,StoryBoard与xib文件的混用

2014-10-08

IOS UITabBarController 使用示例

详细说明了UITabBarViewController的用法,包括使用自定义UITabBar以及使用UITabBarController控件

2014-10-08

IOS 导航 UINavigationController

IOS 导航 UINavigationController,说明了setBackBarButtonItem,setRightBarButtonItem,setLeftBarButtonItem,setTitleView

2014-09-29

Cordova示例

使用Cordova实现的简单示例,通过主界面让显示html页面的view弹出来

2014-09-11

NSNotificationCenter详解

详细说明了NSNotificationCenter的使用,包括各个参数的使用

2014-09-11

IOS UIImagePickerController

IOS UIImagePickerController调用,包括打开相机以及打开图库,录像,以及将录像导出

2014-08-11

Newtonsoft

C# JSON转换以及编码转换,有字符串转换为JSON与JSON转换为字符串

2014-08-06

js 实现皮肤切换

javascript 实现动态加载不同的css,实现页面风格的切换

2014-07-30

javascript实现datagrid

javascript实现datagrid,支持事件以及参数传递

2014-06-17

html5实现刮刮乐

html5使用canvas实现刮刮乐效果,支持桌面以及手机

2014-06-17

颜色选择器

颜色选择器,鼠标移动的时候实时切换换,支持清除设定颜色

2014-06-16

js 弹出窗口

可以加载页面的弹出窗口,支持遮罩,支持拖动,支持自动关闭,支持回调函数,可以自由的设置位置,支持点击以后置于顶部

2014-06-13

图片上传以及裁剪

Jquery file upload 与Jcrop插件,实现图片的上传以及裁减。

2014-05-04

Jquery 日历控件

Jquery 封装的日历控件,可以选择语言,同时支持用户设置时、分、秒。

2014-04-29

Block.UI示例

jQuery的BlockUI插件可以让你在使用AJAX时模拟同步行为,锁定浏览器(模式窗口),代码展示BlockUI的调用示例。

2014-04-29

C# apns 推送消息

苹果APNS推送,C#实现通过APNS向客户手机推送消息,Apple Push Notification Service

2014-01-24

基于ARM架构的OpenJDK1.8

鲲鹏云不支持OracleJDK,只支持OpenJDK与HuaweiJDK,以上是基于ARM架构的OpenJDK,亲测有效。

2020-05-04

RedisCluster集群搭建代码及相应软件

redis cluster集群安装的全部文件,只需要运行相关的bat文件,即可以完成集群的搭建。

2018-10-03

Net调用Redis缓存示例

ServiceStack.Redis操作Redis内容,包括存取String、Hash、List、Set、ZSet.

2018-09-23

导出Excel、Word类库

C#、Java、PHP导出Excel范例,同时解决导出的Excel样式设置,以及修正数据以科学计数法展示

2018-09-08

unlock-all-v120

VMWare虚拟机安装Mac系统,unlock-all-v120插件,否则虚拟机无法启动。

2018-05-08

flash 兼容各种浏览器播放视频代码

flash实现兼容各浏览器视频播放,包括IE,Firefox,Chorme,360浏览器、safari浏览器

2017-06-29

Excel2007类库以及Excel操作类

Excel2007类库以及C#操作Excel帮助类

2017-05-17

JS实现网页上签名

jSignature 在网页上手写签名的插件(html5手写签名) 在IE7~IE8这种不支持HTML5的浏览器上,是利用Flash嵌入的方式实现的签名处理; 在支持的HTML5的浏览器上默认采用canvas标签处理签名,可以生成 PNG格式、SVG格式的签名图片。 非常适合在IPAD等移动客户端上实现手写签名的,该插件基于JQuery

2017-03-23

Northwinde pubs数据库

微软示例数据库Northwind与pubs

2017-01-15

Twitter Snowflake C#版源码

Twitter Snowflake 生产唯一ID,C#版源码,支持排序

2017-01-15

IIS服务均衡服务代码

nginx实现服务均衡服务端设置

2017-01-03

IOS文件的上传与下载

使用Objective-C通过Http协议实现文件的上传与下载,GET与POST传递参数,上传与下载进度检测

2014-12-12

asp.net处理文件的上传与下载

asp.net服务端实现文件的上传处理以及下载处理,使用了IHttpHandler接口

2014-12-12

Core Data多表操作

讲解了数据持久化之Core Data,示例展示了多表操作,创建多表之间联系

2014-11-25

Core Data 数据操作

代码展示了Core Data添加、修改、删除、查询数据,并且将数据保存到本地

2014-11-03

IOS 定位-Core Location

代码演示了使用CLLocationManager进行定位,来获取位置信息的示例

2014-10-21

IOS手势示例

代码展示了IOS的常用手势,包括点击、缩放、旋转、滑动、拖移以及长按的示例

2014-10-21

FMDB操作Sqlite

展示了FMDB操作Sqlite数据库,包括创建库、创建表、增、删、改、查数据、事务以及多线程操作等

2014-10-17

IOS数据库操作Sqlite

代码展示了IOS的Sqlite操作sqlite数据库,包括创建数据库,创建表,对数据的增、删、改、差,以及Sqlite事务

2014-10-16

IOS NSKeyedArchiver

代码展示了使用归档的方法对数据完成持久化,包括对单个,多个,自定义对象进行归档

2014-10-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除