C# 设计模式一一模板方法模式

一、定义 在一个抽象类中定义一个操作中的算法骨架(对应于生活中的大家下载的模板),而将一些步骤延迟到子类中去实现(对应于我们根据自己的情况向模板填充内容)。模板方法使得子类可以不改变一个算法的结构前提下,重新定义算法的某些特定步骤,模板方法模式把不变行为搬到超类中,从而去除了子类中的重复代...

2019-03-26 09:52:53

阅读数 28

评论数 0

C# 设计模式一一原型模式

一、定义 原型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 二、结构图 原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需知道任何创建的细节。 三、实例 //工作经历类 class WorkExperience { public string...

2019-03-25 13:47:51

阅读数 27

评论数 0

C# 设计模式一一工厂方法模式

前面我们讲述了简单工厂模式,提到其缺点是系统难以扩展,一旦添加新产品就不得不修改简单工厂方法,这样造成简单工厂方法的实现逻辑过于复杂。本节介绍的工厂方法模式可以解决这个问题。 一、定义 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 二、结构图 ...

2019-03-21 23:05:15

阅读数 21

评论数 0

C# 设计模式一一装饰模式

一、定义 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 二、结构图 装饰模式就是利用SetComponent来对对象进行包装的。这样每个装饰对象的实现就和如何使用这个对象分离开了,每个装饰对象只关心自己的功能,不需要关心如何被添加到对象链当中。 ...

2019-03-21 10:55:09

阅读数 27

评论数 0

C# 设计模式一一六大基本原则

一、单一职责原则 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 解决方案:遵循单一职责原则。分别建立两个类T1、T2,...

2019-03-20 00:50:26

阅读数 30

评论数 0

C# 设计模式一一策略模式

一、定义 它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。 二、结构图 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开,委派给不同的对象负责。策略模式通常把一系列的算法包装到一系列的策略类里面。用一句话慨括策略模式...

2019-03-19 18:03:46

阅读数 30

评论数 0

C# 设计模式一一简单工厂模式

一、定义 简单工厂模式我们也可以理解为负责生产对象的一个类, 二、设计原则 封装改变,既然要封装改变,自然也就要找到改变的代码,然后把改变的代码用类来封装。 三、示例演变 实现两个数的运算 public class Operation { public double...

2019-03-19 12:24:48

阅读数 30

评论数 0

C# 设计模式一一单例模式

一、定义 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 二、应用 操作系统中只能有一个任务管理器,操作文件时,同一时间内只允许一个实例对其操作等。 三、实现 方式一:适用于单线程应用程序 using System; using System.Collections.Gene...

2019-03-14 10:51:38

阅读数 34

评论数 0

C# 入门一一扩展方法

概念:用来扩展已定义类型中的方法成员的一种方法。 用途:如果想为一个已有类型自定义含有特殊逻辑的新方法时,不想通过重新定义一个类型来继承已有类型的方式去添加该方法,另外当已有类型为值类型或密封类(不能被继承的类)等也不能被继承时,我们可以使用扩展方法来解决。 示例: using Syste...

2019-03-13 09:54:52

阅读数 35

评论数 0

C# 入门一一Lambda表达式

定义:Lambda表达式可以理解为一个匿名方法,它可以包含表达式和语句,并且用于创建委托或转换为表达式树。 使用“=>”运算符,该运算符左边是匿名方法的输入参数,右边是表达式或语句块。 用法一:创建委托 public class Friend { public st...

2019-03-12 17:21:27

阅读数 31

评论数 0

C# 入门一一可空类型、匿名方法和迭代器

一、可空类型 定义:可空类型也是值类型,但它是包含null值的值类型。有两种表示方式,如下: //T?a 类型 ---第一种 int? value = 1; //Nullable<T> ---第二种 Nullable<in...

2019-03-11 23:45:46

阅读数 30

评论数 0

C# 入门一一泛型

一、定义 泛型:通过参数化类型来实现在同一份代码上操作多种数据类型。利用“参数化类型”将类型抽象化,从而实现灵活的复用。 //Compare<T>为泛型类,T为类型参数 public class Compare<T&a...

2019-03-11 16:31:15

阅读数 32

评论数 0

C# 入门一一值类型和引用类型

一、值类型和引用类型的区别 上表区别中,关于值的存储方式:通常被分配在线程的堆栈上,表明还有个例: (1). 在引用类型中嵌套值类型 (2). 值类型装箱 这两种情况下,值类型的实例会被分配到托管堆中。 1. 引用类型中嵌套定义值类型 如果类的字段类型是值类型,它将作为引用类...

2019-03-11 12:17:08

阅读数 25

评论数 0

C# 入门一一面向对象

面向对象的三个基本特征: 封装——把客观事物封装成类,并将类内部的实现隐藏,以保证数据的完整性。 继承——通过继承可以复用父类的代码。 多态——允许将子对象赋值给父对象的一种能力。 一、封装 定义:把内部的数据隐藏起来,不让对象实例直接对其操作。 C#提供了属性机制来对类内部的状态进行...

2019-03-09 11:12:48

阅读数 58

评论数 0

C# 入门一一事件(event)的应用:如何在TextBox控件中实时显示Log

上一章节我们介绍了事件(event)的相关用法,那么我们利用所学知识,实现在TextBox控件中实时显示Log的一个功能。 同样,针对事件,我们需要明确事件的两类角色: 1.事件发布者:是指触发事件的对象,本例中,Log每写一行数据便触发相应事件 2.事件订阅者:是指捕获事件并作出相应处理,...

2019-03-08 18:32:10

阅读数 67

评论数 0

C# 入门一一事件(event)

一、什么是事件 事件涉及两类角色——事件发布者和事件订阅者 事件发布者:是指触发事件的对象,发布消息。 事件订阅者:是指捕获事件并作出相应处理。 二、使用事件 我们先来查看一个完整的使用事件示例: 示例一: using System; using System.Collection...

2019-03-08 16:58:54

阅读数 34

评论数 0

C# 多线程一一线程基础

1. 线程创建,暂停,终止 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace Recipe1 { ...

2019-03-05 16:57:29

阅读数 41

评论数 0

adb一一设备管理器中存在adb端口,但是cmd指令adb devices查询不到的解决方法

最近,手机adb调试的时候,发现设备管理器中存在adb端口,但是cmd指令adb devices查询不到的情况 Microsoft Windows [版本 10.0.17763.134] (c) 2018 Microsoft Corporation。保留所有权利。 C:\Users\ad...

2019-03-01 15:05:09

阅读数 291

评论数 0

SQL Server一一数据读取器

1. 数据读取器概述 数据读取器不能直接实例化,而是通过执行命令对象的ExecuteReader方法创建它的实例。 SqlDataReader rdr = cmd.ExecuteReader(); 该数据读取器可用来访问查询的结果集。 (1). 使用序数索引器 示例使用while循环完...

2019-02-22 23:45:46

阅读数 1311

评论数 2

SQL Server一一执行ADO.NET命令,检索数据

 数据库应用程序的开发流程一般主要分为以下几个步骤: 创建数据库 使用Connection对象连接数据库 使用Command对象对数据源执行SQL命令并返回数据 使用DataReader和DataSet对象读取和处理数据源的数据        建立与数据库连接后,就可以开始与它交互并利用它...

2019-02-22 22:09:53

阅读数 1042

评论数 4

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