摘要:前言 相信很多人对枚举并不陌生,枚举可以很方便和直观的管理一组特定值。如果我们在页面上直接输出我们希望匹配的汉语意思或则其他满足我们需求的语句就更好了,当然,通常小伙伴们都会再页面上if(enum==1) “我是一个枚举”或者switch(enum)这种方式解决。 那今天我们就来介绍一种更优雅的解决 阅读全文
posted @ 2017-08-30 12:00 潇十一郎 阅读(2164) 评论(0) 推荐(0) 编辑
摘要:前言 通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。 Singleton类,定义一个GetInstance操作,允许客户访问它的唯一实例。GetI 阅读全文
posted @ 2017-07-21 15:55 潇十一郎 阅读(219) 评论(0) 推荐(1) 编辑
摘要:前言 我们先来看一段基本的数据访问代码,以‘新增用户’和得到用户为例,假设只有ID和Name两个字段,其余省略。 SqlserverUser类-用于操作User表 客户端代码 这里和Sql Server数据库耦合,不能做到灵活的更换数据库,如果下次要换成Mysql或者其他数据库,就非常麻烦了。这里我 阅读全文
posted @ 2017-07-20 18:26 潇十一郎 阅读(378) 评论(0) 推荐(0) 编辑
摘要:前言 1、需求 需求很简单,就是在C#开发中高速写日志。比如在高并发,高流量的地方需要写日志。我们知道程序在操作磁盘时是比较耗时的,所以我们把日志写到磁盘上会有一定的时间耗在上面,这些并不是我们想看到的。 解决方案 2.1、简单原理说明 使用列队先缓存到内存,然后我们一直有个线程再从列队中写到磁盘上 阅读全文
posted @ 2017-07-20 11:01 潇十一郎 阅读(6384) 评论(1) 推荐(1) 编辑
摘要:前言 回顾上篇的设计模式之-简单工厂模式 我们可以从中发现一些问题。 先看看以计算器为例的简单工厂的结构图如下: 那此时我们换成工厂模式呢?我们先看看工厂的结构图: 承接上篇计算器为例,我们需要新建一个工厂接口 然后呢,为加减乘法各建一个具体的工厂实现接口 客户端调用 Why?为什么要这么写呢?上一 阅读全文
posted @ 2017-07-18 14:48 潇十一郎 阅读(520) 评论(0) 推荐(2) 编辑
摘要:前言 为了理解和学习简单工厂模式,我们先看一段简单计算器的代码 以上代码存在几点明显问题 ①A、B、C、D这样的命名非常不规范,真实项目中应该避免使用 ②if判断分支,让计算机多做了三次无用功 ③除数的时候如果用户输入了非正数及符号,没有相关处理。 根据上述三点问题进行优化后的代码如下: 就上述代码 阅读全文
posted @ 2017-07-18 13:31 潇十一郎 阅读(443) 评论(0) 推荐(0) 编辑
摘要:汉语转拼音或首字母 通常不少网站上有汉语转拼音功能,今天就小记下这段汉语转拼音的代码,自己测试ok,现把代码贴出来,以备日后使用: 效果 用法很简单后台使用到了两个类文件,一个是:ConvertHzToPz_Gb2312 用来转换拼音 ,另一个是获取首字母 :StrToPinyin 拼音类如下: u 阅读全文
posted @ 2017-07-14 18:25 潇十一郎 阅读(9701) 评论(3) 推荐(2) 编辑
摘要:摘要 面向对象设计(OOD)有助于我们开发出高性能、易扩展以及易复用的程序。其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC、DI以及Ioc容器等概念。通过本文我们将一起学习这些概念,并理清他们之间微妙的关系。 前言 对于大部分小菜来说,当听到大牛们高谈DIP、IoC、D 阅读全文
posted @ 2017-07-14 17:44 潇十一郎 阅读(361) 评论(0) 推荐(1) 编辑
摘要:前言 此篇专门记录一些常见DB帮助类及其他帮助类,以便使用时不用重复造轮子。 DBHelper帮助类 ①首当其冲的就是Sql Server帮助类,创建名为DbHelperSQL 的类 ,全部代码如下: /// <summary> /// 数据访问抽象基础类 /// Copyright (C) Mat 阅读全文
posted @ 2017-07-13 11:54 潇十一郎 阅读(5044) 评论(0) 推荐(5) 编辑
摘要:前言 此篇讲到的是图片上传功能,每个网站必定会有这样类似的功能,上传文件、上传图片等等。那么接下来,看看我们EF+uploadfile+ftp如何玩转上传图片吧 效果预览 具体实现 一个简单数据库 只有一个主键Id,一个身份证正面路径和一个身份证背面路径三个字段。 首先呢,我们把实体类新建好如下: 阅读全文
posted @ 2017-06-15 17:19 潇十一郎 阅读(680) 评论(0) 推荐(0) 编辑