自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

云都小生

互联网 · 科学 · 阅读 · 思考

  • 博客(80)
  • 资源 (1)
  • 收藏
  • 关注

原创 世上本无设计模式——设计模式总结

作者:云都小生我眼中的设计模式 经过几个月的努力,除了解释器模式外,其他模式我都做了简单的了解。由于解释器模式的难度稍大,并且使用场景也并不是很广泛,便暂时放下了。如果把各类编程语言比喻成“招式”,把各类IDE比喻成“工具”,那设计模式就是一种“内功心法”。招式和工具所有的武林高手都能掌握, 但是内功心法却不一定,这也自然而然的成为了高手与菜鸟之间分水岭。为什么把标题...

2018-04-20 13:40:37 625

原创 Java抽象类

作者:云都小生概述 面向对象的特性之一就是抽象,而在Java中有两种形式是用来体现这一种抽象思想的。现在我们需要来认识一下,其中一个强大的新概念——抽象类。在软件开发中,开发过程中经常会碰到这样的场景——一个父类的方法并不确定,不同的子类实现的方式不一样。例如,动物都有叫的方法,但是不同动物叫的方式不一样,所以我们可以先让这个方法变成“不确定”,让不同的动物去实现各自...

2018-04-19 13:53:13 289

原创 设计模式——访问者模式

作者:云都小生概述 在某个药业公司中,工作流程一般是这样。开单人员根据客户人员,写出一张订单,这张订单会先发到仓库人员的手中。仓库的人员根据订单的信息,准备好对应的产品,然后把订单给到负责财务的人员。财务人员根据订单的信息,检点产品数量是否到位、是否超出。最后根据订单信息计算出总金额,对数据库进行相应的操作···上面这个案例是我想的,只是为了用来引出访问者模式的概...

2018-04-18 22:11:42 313

原创 Java异常处理

作者:云都小生概述 异常即程序在运行过程中,发生了不被期望的事,它阻止了程序的正常运行。而我们在开发过程中,需要做的就是如何去处理这些异常。我们可以选择抛出这个异常,然后程序终止,也可以选择将错误输出给用户,然后继续运行。捕捉异常是我们程序员应该做的事,这能让我们的程序变得更加和谐。我们不能碰到异常就随随便便让程序闪退,也不能随随便便把一些乱七八糟用户看不懂的提示信息...

2018-04-17 15:39:59 353

原创 Java接口详解

作者:云都小生概述 在Java面向对象中,Java与C#同样,只支持单继承关系——即一个类只能有一个父类。但是现实中却有这样的需求——金银花是一种花,但它还是一种草药。如何解决这种需求,我们就需要用到接口。一个类只能继承一个父类,但是一个类可以实现多个接口。接口是一系列方法的声明,是一些列方法特征的集合,一个接口只能纯粹有方法的特征,但方法不能有实现。这是与抽象类的区...

2018-04-17 10:53:48 397

原创 Java接口详解

作者:云都小生概述 在Java面向对象中,Java与C#同样,只支持单继承关系——即一个类只能有一个父类。但是现实中却有这样的需求——金银花是一种花,但它还是一种草药。如何解决这种需求,我们就需要用到接口。一个类只能继承一个父类,但是一个类可以实现多个接口。接口是一系列方法的声明,是一些列方法特征的集合,一个接口只能纯粹有方法的特征,但方法不能有实现。这是与抽象类的区...

2018-04-14 21:45:09 331

原创 C# XML文件操作3

作者:云都小生修改指定属性的值 我们有这样一个XML配置文件。<?xml version="1.0" encoding="utf-8" standalone="yes"?><Books> <Book Name="雪国" Author="川端康成" Price="20" />

2018-04-13 16:30:03 251

原创 C# XML文件操作2

作者:云都小生创建带属性的XML文件如何给XML文件的节点添加属性//创建一个新的XML文档对象XmlDocument doc = new XmlDocument();XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", "yes");doc.AppendChild(dec);//设置根节点...

2018-04-11 14:34:02 380

原创 C# XML文件操作1

作者:云都小生创建普通的XML文件//引入命名空间using System.Xml;//创建XML文档对象XmlDocument doc = new XmlDocument();创建了之后我们就能给XML文档添加信息了//创建第一行描述信息对象,并将这个信息添加到doc文档对象中XmlDeclaration dec = doc.CreateXmlDecl...

2018-04-11 01:09:12 489

原创 设计模式——模板方法模式

作者:云都小生概述 模板方法模式的内容,其实从一开始接触抽象类的知识时就有所涉及了。抽象类中可以定义具体的方法,也可以定义一些抽象方法。继承自该抽象类后,就会自动拥有具体方法,并且必须实现抽象类中的抽象方法。想一想,其实抽象类可以让我们实现一些“模板”,在这些模板中,我们可以先把所有子类都一样的方法写成具体方法,这样子类继承就能直接拥有。我们可以定义一些抽象方法,...

2018-04-10 13:42:18 194

原创 Java final关键字

作者:云都小生概述 final关键字非常重要,它可以用来修饰类、方法和变量,final可以用来改善应用性能的。常量 final经常跟static关键字一起用,修饰在变量上面的时候,变量就变成了常量。public static final int width = 40;这样就定义了一个常量,在其他地方就不能随意改变这个值了。final方法 ...

2018-04-10 08:37:54 176

原创 Java代码块,Java运行时序

作者:云都小生概述 Java中的代码块有四种,普通代码块、构造代码块、静态代码块,以及线程相关的同步代码块。这些代码块都有自己特殊的用途。普通代码块 普通的代码块定义在方法中,奉行的是“遇到就执行”的原则。它定义的方式如下↓public class Test { public static void main(String[] args) { ...

2018-04-10 08:36:57 360

原创 设计模式——策略模式

设计模式——策略模式.md作者:云都小生引言 在某款游戏中,游戏角色所持的武器会根据它的等级去升级,一位普通程序员经过设计后实现了该功能,下面是精简版的代码。public class Soldier { private int level = 1; //等级 private String arms = "木棍"; //武器 pub...

2018-03-23 23:33:23 238

原创 设计模式——状态模式

作者:云都小生引言 在自然界中有一种动物叫变色龙,人们都普遍认为变色龙会根据环境去改变自己皮肤的颜色,其实那是误解。其实变色龙变色是根据自己的心情,当它示威时,体色会呈明亮色;当变色龙欲发动攻击时,体色会变很暗。在其他领域也有这种“状态”模式,例如水会根据温度变成冰或者气体,冰和水蒸气是水的不同状态。在软件设计中,也存在这种逻辑,某个对象会有不同的状态,同时,处于不同状态...

2018-03-22 00:38:52 290

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

作者:云都小生推荐资料: 史上最全设计模式导学目录前奏 各位小伙伴们,请想像一下,生活中是否有一种对象,它在状态在改变之后,其他的对象就会做出某些响应。以前很火的穿越火线,是一款第一视角的射击游戏,在游戏中,玩家可以进行组队的游戏。游戏为每个玩家提供了雷达,上面显示了各个队友的位置情况。一旦某个队友被射杀,其他各个玩家都可以从雷达上看到一个“X”的标记。这个时候...

2018-03-13 20:02:54 279

原创 C#重写与覆盖

作者:云都小生何为重写 重写的前提是1. 必须存在继承关系;2. 方法名和参数列表必须与父类的方法保持一致2. 父类用Vritual修饰方法;3. 子类用Override重写父类的方法语法是这样的public class Animal{ public virtual void Eat() { Console.Wri...

2018-03-07 23:01:17 3493 2

原创 设计模式——备忘录模式

作者:云都小生推荐学习资源:史上最全的设计模式导学目录概述 许多软件都提供了这样一种功能——撤销,这是我们一直在用,且非常重要的一个功能。在软件设计中,我们通常也会设计这样一种功能,而“撤回”功能的一种实现机制就是——备忘录模式。备忘录模式:在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。在备忘录...

2018-02-27 16:29:15 303

原创 设计模式——中介者模式

作者:云都小生推荐资料:史上最全设计模式导学目录(完整版)概述 在学习这个模式之前,我们先来回顾一下一个面向对象的设计原则——迪米特原则,这个原则告诉我们:一个对象尽可能少跟其他对象进行关联,就像一个人要少跟陌生人说话一样。而中介者模式,也正是为了协调多个对象之间复杂的引用关系。我们来看一个例子,虽然这个例子不太好,后期想个好一点的例子再改。中介者模式角色...

2018-02-23 23:16:27 281

原创 DataSet与DataAdapter

作者:云都小生向DataSet对象手动添加数据 在数据库开发中,都是如何使用DataSet的呢?首先我们已经明白,其实DataSet对象就是一个迷你数据库,而DataAdapter只是我们缓存、读取数据库数据的工具。我们可以创建一个DataSet对象。DataSet ds = new DataSet();我们可以手动向这个DataSet填充数据。//创建...

2018-02-14 09:52:35 1179

原创 C#常用泛型集合

C#泛型集合作者:云都小生概述 之前已经整理了泛型和集合的资料,今天来刷一下两个C#提供的常用泛型集合——List<>和Dictionary<>。List <> 使用List<>泛型集合,需要引入System.Collections.Generic(命名空间)List<>是ArrayList的泛...

2018-02-02 22:57:06 5103

原创 ADO.NET基础笔记(2)

作者:云都小生概述 ADO.NET是.NET的一个模块,可以用于应用程序与数据库之间的交互(连接、操作)。在这个模块中,支持了多种数据的连接、操作方法,这里主要是整理SqlServer数据库的相关类与相关操作。SqlConnection类SqlConnection继承自Connection,是数据库连接类。//方法原型public sealed clas

2018-01-21 15:07:56 419

原创 C#_集合

作者:云都小生集合概述 在数学上,我们都知道有集合这种概念,数组就是集合的其中一种。但是数组长度是固定的,数据类型也是固定的,这很繁琐。                    非泛型集合接口泛型集合接口说明ICollectionICollection定义所有集合的大小(Count),枚举器(foreach)和同步(copyto)方法,继承自IEnumerable

2018-01-20 00:14:10 322

原创 C#_泛型

作者:云都小生问题来源 我们先来看看其他博主提到泛型,都会贴出来的一个经典例子。public class Stack{ private int[] m_item; public int Pop(){...} public void Push(int item){...} public Stack(int i) {

2018-01-19 21:38:03 271

原创 C#_基本的I/O操作

作者:云都小生概述 I/O操作的方法一般都定义在System.IO命名空间中,这些方法可以用于创建、删除、文件读取/写入等文件操作。在操作的过程中,都是通过“流”。流可以理解成管道,连接着你要操作的那些文件,数据一般以二进制的形式通过流进行传递。FileStream 这个类为文件操作提供了一个流,可以用来轻松的读写数据到文件中。它是以单字节进行读写操作。来看个例子:FileStream file

2018-01-18 00:31:17 1164

原创 设计模式——迭代器模式

作者:云都小生推荐学习资源 史上最全的设计模式导学目录十分推荐!概述 迭代器模式是比较容易理解,且使用频率非常高的一种设计模式,它的本质是实现了数据聚合对象的存储与遍历的解耦,使数据聚合不会暴露在数据操作方法面前。在现实的开发中,我们经常会碰到一种情况,我们需要存储许多的对象,有时候需要对这些对象进行遍历。一般去设计的时候,都是把存储和遍历两种功能放到同一个类中,但是这样会产生许多的问题。首先,

2018-01-16 16:24:24 323

原创 设计模式——命令模式(下)

设计模式——命令模式(下)作者:云都小生命令队列的处理 现实中有这么一种情况,我们墙壁上有一个按钮开关,这个开关按下去之后,就会打开厕所的电灯和排风扇。没错,在命令模式的设计过程中我们也会碰到这样的情况,我们的接受者并不只有一个,所以我们需要一个命令队列。先让接受者1进行处理,再让接受者2进行处理。class CommandQueue { //定义一个

2018-01-09 09:11:37 328

原创 设计模式——命令模式(上)

作者:云都小生概述 命令模式是一种行为型模式,将请求以命令的形式封装在对象中,调用者将这些封装的对象传给具体的处理者,处理者执行相应的操作。命令模式的关键在于,它提供一种松耦合的设计关系,将请求者与处理者进行解耦。所以命令模式又有人称为“请求发送者与接受者的解耦”。设计框架 在命令模式中通常有这些角色:抽象命令类、具体命令类、请求者/调用者、处理者。命令模式

2018-01-08 14:38:41 317

原创 ADO.NET基础笔记(1)

作者:云都小生概述 MMP,学了这么久开发,终于开始学习如何通过编程来对数据库进行交互了。这次带来的是C#与SQL数据库的交互。SqlConnection 在打开连接之前,你需要一个SqlConnection对象,哦!在这个时候你还应该先引入一个命名空间。using System.Data.SqlClient;创建一个SqlConnection对象:)

2018-01-06 23:38:01 292

原创 Sql增删改查(包含Sql Server基础知识)

作者:云都小生简述 Sql是一种标准的语言,几乎在所有的数据库中,如何访问、操作数据,都是遵循Sql的标准。在了解语法之前,我们必须先熟悉在SSMS上的操作,例如附加数据库、分离数据库、备份数据库,如何去建表、如何添加约束等等。除此之外,我们还必须了解四种不同的数据完整性准则。基本知识 主流的数据库有微软的Sql server、Sun的Oracle、IBM的DB2,还有一个Mysql。Sql s

2017-12-27 20:19:15 606

原创 选择排序

@Author:云都小生(Cloudking)概述 选择排序也是一种简单直观的算法,效率比冒泡更高一丢丢,选择排序也是比较元素大小进行排序的算法之一。算法import java.util.Arrays;public class SelectSort { public static void main(String[] args) { int[] nums = {4,1,5,1

2017-12-17 12:04:01 183

原创 设计模式——职责链模式

@Author:云都小生(Cloudking)概述 不知道各位小伙伴有没有看过这种剧情,有个人在XX餐厅里吃饭,突然吃到了一些不该吃的东西(例如说铁丝,反正小生我是见得多了)。这个时候,计较的人呢马上就会大喊一声“服务员!”服务员走过来一脸懵逼,被臭骂了一顿,但是这还没完。顾客要求赔偿,这个时候就不是服务员能解决的问题了,得请经理出马了。但是这个顾客又有点过分了啊~ 提出了连经理都解决不了的问题,

2017-12-17 10:50:34 295

原创 哈希算法

Author:云都小生概述 首先来回忆一下,之前我们之前是怎么在一个序列中查找某个数据的?第一,我们可能会想用“迭代”,挨个的找。第二,如果序列是有序的,我们可以考虑二分查找。但是,当查找的序列很大的时候,这些算法看起来并不怎么高效。哈希表又称为散列表,哈希算法又称散列算法。我用最简单的话来概括一下哈希表、哈希算法。哈希表有点类似数组,数组是通过下标去索引数据。而哈希表,是把所有的数据,通过一个哈

2017-12-16 19:41:48 433

原创 C#面向对象——继承

Author:云都小生继承 在继承关系中,有两种角色,一种称为父类,一种称为子类。就像你与你父母的关系,你就是子类,父母就是父类,父类有时候又称为基类。C#的继承语法是这样的class child : father子类会继承父类的属性和方法。在菜鸟教程上有一个好例子,我就不客气的挖了过来。using System;namespace InheritanceApplication{ cla

2017-12-15 22:18:58 263

原创 C#实现字符替换的三种方法

Author:云都小生最简单粗暴的方法C#封装了Replace的方法,这个方法及其它的参数是这样的。string Replace(替换的目标,替换的字符串)返回值是替换后的字符串string str = "11xx1111x";Console.WriteLine("原字符串是:{0}",str);Console.Write("请输入需要替换的字符串:");string oldStr = Con

2017-12-14 11:55:58 65829

原创 设计模式——代理模式

Author:云都小生代理主要就是上下行的交互,上游认为代理是下游,下游认为代理是上游,通过代理来降低冗余。——玉涵概述 小生的朋友圈里,经常会有各种微商、广告的刷屏,但是也有人发这种“xxxx代购啦”。代购其实也算是代理的一种模式。客户通过代购人去买到自己买不到的东西。而在软件设计中,我们也会有这样一种情况:当无法直接访问某个对象或访问某个对象存在困难时,就可以通过一个代理对象来间接访问。你会不

2017-12-13 21:52:06 249

原创 设计模式——享元模式

Author:云都小生继承提高代码的复用性,享元模式提高对象的复用性。推荐!史上最全设计模式导学目录前述 我不知道大家有没有打过什么枪战游戏,那里面的子弹,都是一样的。若每一个子弹都是相同的对象,只不过每个子弹的位置不一样,那我们是不是得不断的new出一大堆的对象嘞?换个案例,围棋,黑棋和白棋其实都是一模一样的,只是每一个棋子的位置不一样,那我们是不是得new好多个对象。那样肯定会造成内存浪费,而

2017-12-11 15:47:40 238

原创 C#面向对象——封装

Author:云都小生权限修饰、 封装面向对象的三大特性之一,其中很重要的,就是要将数据封装在每个单元(C#、Java中是类)中,尽量不允许外部直接对数据进行操作,保护数据或者防止代码被无意破坏。class Student{ private int id; public int Id { get { return id

2017-12-07 15:40:20 383

原创 设计模式——外观模式

Author:云都小生概述 外观模式也是一种结构设计模式,应用非常频繁,它是用来简化客户端与系统之间的交互。很多时候我们都希望用户得到更加简单直白纯粹的体验。如果我们给用户提供了速溶咖啡、热水,糖,杯子等,那用户就可以自己开始泡咖啡了。那我们为何不提供一个服务员,用户只需要跟服务员说要咖啡,就冲一杯咖啡给他呢?这里的服务员就是外观模式中关键的外观类了。在外观模式中通常两种角色,一种是外观类,另一种

2017-12-04 15:32:17 458

原创 设计模式——装饰模式

Author:云都小生概述 一个GUI(图形化)程序,有很多的控件组成,例如说文本框、按钮、选择菜单等等,而这些文本框、按钮、选择菜单又会有很多种风格。我们一般会怎么去设计文本框、按钮、选择菜单与它们“风格”“装饰”的架构。emmm···· 应该是这样···这种用继承来架构的解决方案,可扩展性差,例如说我想要增加一个其他的特效,那每个控件下都得增加一个类,并且得修改一个类。除此之外,还有许多重复

2017-12-04 01:33:18 378

原创 多维数组与交错数组

Author:云都小生多维数组创建一个一维数组:int[] a = new int[10];创建一个二维数组:int[,] a = new int[2,3]; //两行三列的数组我们知道一维数组在内存中是占据一个线性的空间。而且数组有一个特点,也可以说是缺点,那就是数组一旦分配之后,长度就是确定的。对于二维数组来说亦同,二维数组在内存中占据的,其实也是一个线性的空间。因为二维数组跟一维数

2017-12-01 21:18:43 1108

《23种设计模式(C++)》.pdf

设计模式精解-GoF 23 种设计模式解析附 C++ 实现源码。懂了设计模式,你就懂了面向对象分析和设计(OOA/D)的精要。反之好像也可能成 立。道可道,非常道。道不远人,设计模式亦然如此。 一直想把自己的学习经验以及在项目中的应用经历拿出来和大家共享,却总是下不了这 个决心:GoF 的 23 种模式研读、总结也总需要些时日,然而时间对于我来说总是不可预计 的。 之所以下了这个决心,有两个原因:一是 Robert 的箴言,二是因为我是一个感恩的人, 就像常说的:长怀感恩之心,人生便无遗憾。想想当时读 GoF 的那本圣经时候的苦闷、实 现 23 个模式时候的探索、悟道后的欣悦,我觉得还是有这个意义。

2017-09-10

空空如也

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

TA关注的人

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