---【C#和设计模式】
Kevin's life
自强不息,突破自我
展开
-
C#之规则
1、命名规范:命名规范在编写代码中起到很重要的作用,虽然不遵循命名规范,程序也可以运行,但是命名规范可以很直观的了解代码所代表的含义。下面列出一些命名规范,供读者参考:1、用Pascal规则来命名方法和类型,Pascal的命名规则是第一个字母必须大写,并且后面的连接词的第一个字母均为大写;2、用Camel规则来命名局部变量和方法的参数,Canmel规则是指名称中第一原创 2017-08-03 10:55:07 · 532 阅读 · 20 评论 -
设计模式之结构型模式
结构型模式(7种) 适配器模式特点:将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作。其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。 备注:根据适配器类与适配者类的关系不同,适配器模式可分为对象适配器和类适配器两种,在对象适配器模式中,适配器与适配者之间是...原创 2018-04-27 20:56:43 · 453 阅读 · 10 评论 -
设计模式之行为型模式
行为型模式(11种) 模版方法模式特点:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 优点: 1,在父类中定义一个算法,由它的子类来实现细节的处理 2,模板方法是一种代码复用技术,可以将公共行为放在父类中 3,可以通过子类来覆盖父类的...原创 2018-04-27 21:07:24 · 599 阅读 · 14 评论 -
Visual Studio2015 、2017中如何支持MYSQL数据源
Visual Studio默认只显示微软自己的SQL Server数据源,如下图所示:如果想使用Mysql数据源,看下面的解决方法。一、需要下载安装下面的插件:1:mysql-for-visualstudio-1.2.8.msi 2:mysql-connector-net-8.0.11.msi https://cdn.mysql.com//Downloads/Conne...原创 2018-07-03 18:16:13 · 20755 阅读 · 19 评论 -
C#中的事件与委托
Delegate委托delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类。与其它的类不同,delegate类能够拥有一个签名(signature),并且它”只能持有与它的签名相匹配的方法的引用”。 它所实现的功能与C/C++中的函数指针十分相似。它允许你传递一个类A的方法m给另一个类B的对象,使得类B的对象能够调用这个方法m。但与函数指针相比,delegate有许多...原创 2018-08-25 20:59:50 · 555 阅读 · 90 评论 -
.net中的三大框架WPF、WCF和EF
一、WPF框架WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。WPF是微软新一代图形系统,它提供了超丰富的.NET UI 框架,集成了矢量图形,丰富的流...原创 2018-10-30 08:58:14 · 12315 阅读 · 25 评论 -
【C#】 获取 IP,MAC,计算机名,硬盘号等
一、新建C#winform工程computer二、form窗体代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;usin...原创 2018-11-15 21:26:34 · 779 阅读 · 16 评论 -
【C#】WPF和winform窗体贴边隐藏(类似QQ)
【WPF】实现窗体贴边隐藏(类似QQ)1.新建WPF项目Test,主窗体MainWindow.xaml,在后台MainWindow.xaml.cs填写下面的代码。主窗体调用Hide类,实现隐藏功能。//有些引用可能是不需要的,视情况而定using System;using System.Collections.Generic;using System.Linq;using System...原创 2018-11-20 20:20:36 · 3698 阅读 · 22 评论 -
【C#】窗体最小化到托盘(WinForm和WPF)
下面以WPF为例新建WPF项目Test,主窗体MainWindow.xaml,在后台MainWindow.xaml.cs填写下面的代码。然后就能实现最小化到托盘的功能。//引用根据需要添加,可以去除不必要的引用using System;using System.Collections.Generic;using System.Linq;using System.Text;using ...原创 2018-11-25 12:01:46 · 7941 阅读 · 21 评论 -
【C#】WPF音乐控件
一、使用SoundPlayerSoundPlayer 只能支持WAV格式的文件using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Media;//必须引用using System.Wind...原创 2018-11-30 17:16:47 · 1667 阅读 · 8 评论 -
设计模式之创建型模式
创建型模式(5种) 单例模式特点:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 优点:1,单例模式提供了对唯一实例的访问2,在系统内存中只存在一个对象,所以可以节约系统资源 缺点:单例扩展有较大困难 工厂方法模式特点:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法是一...原创 2018-04-27 20:15:15 · 353 阅读 · 7 评论 -
C#之 日期函数的使用
C#日期函数说来也简单,可是如果不熟悉,还是需要一定的时间去尝试。机房重构的时候需要用到几种日期函数的转换。于是就找了一些专门针对C#日期函数的使用方法。 DateTime dt = DateTime.Now; // 2018-3-13 11:21:25.4212824 Label1.Text = dt.ToString();//2018-3-1...原创 2018-03-13 12:01:36 · 415 阅读 · 23 评论 -
C#之 字符串、数组和List的截取和转换
最近用到了C# 的字符串截取,于是想着该总结一下关于这方面的知识。using System;using System.Collections.Generic;using System.Diagnostics;using System.Linq;using System.Text;using System.Threading; namespace Test1{ class Cl...原创 2018-03-13 11:24:53 · 6367 阅读 · 16 评论 -
C#之异常处理
软件运行过程中,如果出现了软件正常运行不应该出现的情况,软件就出现了异常。这时候我们需要去处理这些异常。或者让程序终止,避免出现更严重的错误。或者提示用户进行某些更改让程序可以继续运行下去。C#编程语言本身就为我们提供了这种异常处理机制。常见异常的类型:在.Net类库中,提供了针对各种异常情形所设计的异常类,这些异常类都是System.Exception 直接或间接子类。常见异常的原创 2017-08-17 17:03:38 · 761 阅读 · 26 评论 -
C#之ArrayList 的用法
System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。一、优点1. 支持自动改变大小的功能2. 可以灵活的插入元素3. 可以灵活的删除元素4. 可以灵活访问元素二、局限性跟一般的数组比起来,速度上差些三、添加元素方法:Add方法用于添加一个元素到当前列表的末尾原创 2017-08-19 15:53:33 · 685 阅读 · 25 评论 -
简单说说设计模式
你是否也有这样的疑问或困惑?为什么面对一个功能相似的设计,人家很快就轻松搞定了,我却需要加班加点去做?为什么面对用户的需求变更,人家只需要简单地敲敲键盘,改改配置,测试几乎完美运行;我自己的却要把代码改了又改,删了又建,测试却Bug连连?难道人家拥有什么奥秘或绝学吗?哈哈,其实所谓的奥秘就是设计模式。设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经...原创 2017-08-03 17:03:25 · 549 阅读 · 23 评论 -
C#之面向对象的简单总结
什么是面向对象? 面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。 面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OO原创 2017-08-22 16:04:53 · 846 阅读 · 25 评论 -
C#之接口
在编程中,常常用到接口,但是什么是借口呢?1、接口的定义:接口是把隐式公共方法和属性组合起来,以封装特定功能的一个集合。实现接口,类就可以支持接口指定的所有属性和成员。接口描述的是可属于任何类或结构的一组相关功能,所以实现接口的类或结构必须实现接口定义中指定的接口成员。2、接口的命名:接口声明语法上和声明抽象类完全相同,接口使用interface 关键字进行声明原创 2017-08-08 11:08:03 · 348 阅读 · 26 评论 -
C#版七层登录
把VB.NET七层登录敲完了,想再用C#来一遍,主要是想学习一下两种语言的转换和区别。下面的图以第一个为准,第二个系统原因删不掉。 七层架构的思想在之前说过了,那么话不多说,下面是C#代码:配置文件App.config<?xml version="1.0" encoding="utf-8" ?><configuration> <...原创 2017-09-17 12:00:43 · 559 阅读 · 27 评论 -
面向对象与面向过程的区别
前面有一篇文章是介绍什么是面向对象的,主要介绍了它的组成元素和特点。今天因为有人问起面向过程,所以再来说说,总结一下面向对象和面向过程的联系和区别。 什么是面向对象? 面向对象是以“对象”为中心的编程思想。是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节;这种思想是将数据作为第一位,而方法或者说是算法作为其次,这是对数据原创 2017-10-07 15:10:48 · 619 阅读 · 25 评论 -
C#的几个知识点
1、数组的冒泡排序:int[] nums = new int[] { 98, 54, 322, 43, 23 }; int temp = 0; for (int j = 0; j < nums.Length - 1; j++) { for (int i = 0; i < nums.Length-1-j; i++) { if (nu原创 2017-10-14 08:50:41 · 299 阅读 · 27 评论 -
设计模式之工厂模式
说起工厂模式就会想到工厂三姐妹:简单工厂模式,工厂方法模式,抽象工厂模式。下面我们一起简单认识了解一下这三姐妹。小妹妹——简单工厂模式定义:简单工厂模式又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式原创 2017-08-15 11:10:11 · 401 阅读 · 27 评论 -
WebAPI跨域(最管用的方式)
解决WebAPI 跨域问题最有效的方法:在 App_Start 的 WebApiConfig.cs 文件里添加下面的代码:var allowOrigins = ConfigurationManager.AppSettings["cors_allowOrigins"]; var allowHeaders = ConfigurationManager.AppSetting...原创 2019-03-27 17:15:16 · 1937 阅读 · 28 评论