上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 23 下一页

2019年8月14日

设计模式(12):结构型模式(六) 享元模式(Flyweight)

摘要: 一、动机(Motivate) 在软件系统中,采用纯粹对象方案的问题在于大量细粒度的对象会很快充斥在系统中,从而带来很高的运行时代价——主要指内存需求方面的代价。如何在避免大量细粒度对象问题的同时,让外部客户程序仍然能够透明地使用面向对象的方式来进行操作? 二、意图(Intent) 运用共享技术有效地 阅读全文

posted @ 2019-08-14 16:46 springsnow 阅读(413) 评论(0) 推荐(0) 编辑

设计模式(11):结构型模式(五) 外观模式(Facade)

摘要: 一、动机(Motivate) 在软件系统开发的过程中,当组件的客户(即外部接口,或客户程序)和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。如何简化外部客户程序和系统间的交互接口?如何将外部客户程序的演化和内部子系统的变化之间的依赖相互解耦 阅读全文

posted @ 2019-08-14 14:53 springsnow 阅读(828) 评论(0) 推荐(0) 编辑

2019年8月8日

设计模式(10):结构型模式(四) 组合模式(Composite)

摘要: 一、动机(Motivate) 在我们的操作系统中有文件夹的概念,文件夹可以包含文件夹,可以嵌套多层,最里面包含的是文件,这个概念和“俄罗斯套娃”很像。当然还有很多的例子,例如我们使用系统的时候,会使用到“系统菜单”,这个东西是树形结构。这些例子包含的这些东西或者说是对象,可以分为两类,一类是:容器对 阅读全文

posted @ 2019-08-08 15:12 springsnow 阅读(623) 评论(0) 推荐(0) 编辑

2019年8月6日

设计模式(09):结构型模式(三) 装饰模式(Decorator)

摘要: 一、动机(Motivate) 在房子装修的过程中,各种功能可以相互组合,来增加房子的功用。类似的,如果我们在软件系统中,要给某个类型或者对象增加功能,如果使用“继承”的方案来写代码,就会出现子类暴涨的情况。比如:IMarbleStyle是大理石风格的一个功能,IKeepWarm是保温的一个接口定义, 阅读全文

posted @ 2019-08-06 17:23 springsnow 阅读(272) 评论(0) 推荐(0) 编辑

2019年8月5日

设计模式(08):结构型模式(二) 桥接模式(Bridge)

摘要: 一、动机(Motivation) 在很多游戏场景中,会有这样的情况:【装备】本身会有的自己固有的逻辑,比如枪支,会有型号的问题,同时现在很多的游戏又在不同的介质平台上运行和使用,这样就使得游戏的【装备】具有了两个变化的维度——一个变化的维度为“平台的变化”,另一个变化的维度为“型号的变化”。如果我们要写代码实现这款游戏,难道我们针对每种平台都实现一套独立的【装备】吗?复用在哪... 阅读全文

posted @ 2019-08-05 17:37 springsnow 阅读(657) 评论(0) 推荐(0) 编辑

设计模式(07):结构型模式(一) 适配器模式(Adapter)

摘要: 一、动机(Motivation)在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?二、意图(Intent)将一个类的接口转换 阅读全文

posted @ 2019-08-05 16:40 springsnow 阅读(587) 评论(1) 推荐(0) 编辑

设计模式(06):创建型模式(五) 原型模式(Prototype)

摘要: 一、动机(Motivation) 在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定一致的接口。如何应对这种变化?如何向“客户程序(使用这些对象的程序)”隔离出“这些易变对象”,从而使得“依赖这些易变对象的客户程序”不随着需 阅读全文

posted @ 2019-08-05 16:24 springsnow 阅读(484) 评论(0) 推荐(0) 编辑

设计模式(05):创建型模式(四) 建造者、生成器模式(Builder)

摘要: 一、动机(Motivation) 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分” 阅读全文

posted @ 2019-08-05 15:20 springsnow 阅读(326) 评论(0) 推荐(0) 编辑

设计模式(04):创建型模式(三) 抽象工厂模式(Abstract Factory)

摘要: 一、动机(Motivation) 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时,由于需求的变化,往往存在更多系列对象的创建工作。 如何应对这种变化?如何绕过常规的对象创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合? 二、意图(Int 阅读全文

posted @ 2019-08-05 14:26 springsnow 阅读(343) 评论(0) 推荐(0) 编辑

2019年8月2日

设计模式(03):创建型模式(二) 工厂方法模式(Factory Method)

摘要: 一、动机(Motivation)在软件系统创建过程中,经常面临着“某个对象”的创建工作:由于需求的变化,这个对象(的具体实现)经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?如何提供一种“封装机制”来隔离出“这个易变对象”的变化,从而保持系统中“其他依赖对象的对象”不随着需求改变 阅读全文

posted @ 2019-08-02 15:53 springsnow 阅读(338) 评论(0) 推荐(0) 编辑

LINQ(01): LINQ入门

摘要: 一、LINQ的体系结构 语言集成查询 (LINQ) (C#) | Microsoft Docs LINQ总共包括五个部分: 程序集 命名空间 描述 LINQ to Objects System.Core.dll System.Linq 提供对内存中集合操作的支持 LINQ to XML System 阅读全文

posted @ 2019-08-02 09:34 springsnow 阅读(412) 评论(0) 推荐(0) 编辑

2019年8月1日

设计模式(02):创建型模式(过渡模式) 简单工厂模式(Simple Factory)

摘要: 简单工厂模式(Simple Factory Pattern)属于类的创建型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern) 是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 这个模式并不属于GoF23里面的设计模式,其实他属于一个过 阅读全文

posted @ 2019-08-01 08:45 springsnow 阅读(257) 评论(0) 推荐(0) 编辑

2019年7月30日

导入和导出到CSV文件

摘要: 一、手工导出导出 1、winform 2、Web导出 不用存磁盘文件<iframe>导出。 二、利用LumenWorks.Framework.IO.Csv读取CSV文件 需要引用LumenWorks.Framework.IO.dll,读取的时候编码格式要选对,否则会乱码,表头自己设置 phatche 阅读全文

posted @ 2019-07-30 17:37 springsnow 阅读(761) 评论(0) 推荐(0) 编辑

Windows进程

摘要: 一、概述一个Process组件提供了在计算机运行进程的访问权限。 进程,在最简单的术语中,是正在运行的应用。提供对本地和远程进程的访问权限并使你能够启动和停止本地系统进程。属性Id 获取关联进程的唯一标识符。ProcessName 获取该进程的名称。MachineName 获取关联进程正在其上运行的计算机的名称。SessionId 获取关联进程的终端服务会话标识符。Stan... 阅读全文

posted @ 2019-07-30 10:25 springsnow 阅读(698) 评论(0) 推荐(0) 编辑

2019年7月16日

C#(99):Net线程间通信的异步机制

摘要: 线程间通信 我们看下面的图 我们来看线程间通信的原理:线程(Thread B)和线程(Thread A)通信, 首先线程A 必须实现同步上下文对象(Synchronization Context), 线程B通过调用线程A的同步上下文对象来访问线程A,所有实现都是在同步上下文中完成的.线程B有两种方式 阅读全文

posted @ 2019-07-16 16:26 springsnow 阅读(1291) 评论(0) 推荐(0) 编辑

2019年7月15日

C#(99):三种Timer

摘要: 一、基于 Windows 的标准计时器(System.Windows.Forms.Timer)首先注意一点就是:Windows 计时器是为单线程环境设计的。它直接继承自Componet。Timer控件只有绑定了Tick事件和设置Enabled=True后才会自动计时,停止计时可以用Stop()方法控制,通过Stop()停止之后,如果想重新计时,可以用Start()方法来启动计时器。Timer控件... 阅读全文

posted @ 2019-07-15 17:35 springsnow 阅读(672) 评论(0) 推荐(0) 编辑

2019年7月9日

2019年7月4日单词

摘要: colossal adj /kə'lɒs(ə)l/ 巨大的;异常的,非常的 peasant n. /'pez(ə)nt/ 农民; 乡下人 torch n. /tɔːtʃ/ 火把,火炬;手电筒;启发之物 deliberation n. /dɪ,lɪbə'reɪʃ(ə)n/ 审议; 考虑; 从容; 熟思 阅读全文

posted @ 2019-07-09 09:20 springsnow 阅读(540) 评论(0) 推荐(0) 编辑

2019年7月3日

Excel技巧大全

摘要: 1、一列数据同时除以10000 复制10000所在单元格,选取数据区域 - 选择粘性粘贴 - 除 2、同时冻结第1行和第1列 选取第一列和第一行交汇处的墙角位置B2,窗口 - 冻结窗格 3、快速把公式转换为值 选取公式区域 - 按右键向右拖一下再拖回来 - 选取只保留数值。 4、显示指定区域所有公式 阅读全文

posted @ 2019-07-03 14:35 springsnow 阅读(739) 评论(0) 推荐(0) 编辑

2019年6月27日单词

摘要: 单词 subject: 主题;科目;实验对象; [语] 主语;国民 dialogue :对话 对白 直接对话 attend :出席;上(大学等);照料;招待;陪伴 discussion :讨论探讨辩论谈论 extracurricular:/ekstrəkə'rɪkjʊlə/ 课外活动 interes 阅读全文

posted @ 2019-07-03 09:43 springsnow 阅读(556) 评论(0) 推荐(0) 编辑

2019年7月1日

HTML5(12) 实时通讯WebSocket

摘要: 一、WebSocket 1、概述 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两 阅读全文

posted @ 2019-07-01 10:39 springsnow 阅读(1511) 评论(0) 推荐(0) 编辑

2019年6月25日

C#(99):随机数Random

摘要: 一、常用操作 NextDouble():返回0-1.0之间的随机数 Next():返回非负随机整数(0-216) Next(i):返回一个小于i的非负随机整数 Next(i,j):生成i – j 的随机整数 NextBytes(byte[]):用随机整数(0-255)填充指定字节数组的各个元素。 S 阅读全文

posted @ 2019-06-25 10:25 springsnow 阅读(1968) 评论(0) 推荐(0) 编辑

2019年6月17日

2019年6月13日单词

摘要: fellow 伙伴 同行的人 nosy /nəʊzɪ/ 好管闲事的 stopover 中转/中途停留 local 本地 convention 大会 valuable 有价值 traffic 交通 baggage claim 行李领取处 phrase 短句 polite 礼貌 general 一般 通 阅读全文

posted @ 2019-06-17 16:18 springsnow 阅读(257) 评论(0) 推荐(0) 编辑

2019年6月11日

2019年6月5日单词

摘要: native tongue 母语 generous慷慨的、大方的、丰富的、重复的。 help each other out / help each other pull through 互相帮助 get-together 小型party。几个人的聚会 on Me 我请客 grab 抓住;攫取 swa 阅读全文

posted @ 2019-06-11 16:23 springsnow 阅读(528) 评论(0) 推荐(0) 编辑

2019年6月4日

2019年5月30日单词

摘要: trick :恶作剧 prank :恶作剧 mischief :恶作剧 shenanigan /ʃɪ'nænɪɡən/ :恶作剧 silly :愚蠢的;傻瓜 goof :呆瓜 goofy :傻瓜的,愚笨的 stiff :呆板的;僵硬的;严厉的 good to great :优秀走向卓越 excell 阅读全文

posted @ 2019-06-04 15:06 springsnow 阅读(679) 评论(0) 推荐(0) 编辑

used to do 与be used to doing

摘要: 1、used to do:表示过去的习惯性动作,过去如此,现在不再这样了。常译作“过去常常”。(过去时+动词不定式) He used to play basketball when he was young. 他年轻的时候常常打篮球。 There used to be an apple tree h 阅读全文

posted @ 2019-06-04 15:00 springsnow 阅读(13990) 评论(0) 推荐(0) 编辑

2019年3月27日

Json.Net(一)介绍

摘要: 一、使用Json.NetJson.Net是支持序列化和反序列化DataTable、DataSet、Entity Framework和Entity的。1、把DataTable转换成json格式,使用最新Json.Net DLL ,已经内置转换器。 DataTable dt = catDAO.GetAllCategory();string result = JsonConvert.Serialize... 阅读全文

posted @ 2019-03-27 09:37 springsnow 阅读(1032) 评论(0) 推荐(0) 编辑

2019年3月26日

JavaScript(23):表单验证

摘要: 一、JavaScript 表单验证HTML 表单验证可以通过 JavaScript 来完成。以下实例代码用于判断表单字段(fname)值是否存在, 如果不存在,就弹出信息,阻止表单提交: function validateForm() { var x = document.forms["myForm"]["fname"].value; if (x == null || x == "... 阅读全文

posted @ 2019-03-26 14:43 springsnow 阅读(511) 评论(0) 推荐(0) 编辑

JavaScript(22):表单与表单元素

摘要: 一、forms[]; Form 表单对象document.forms[] 是一个数组,包含了文档中所有的表单(<form>)。要引用单个表单,可以用 document.forms[x],但是一般来说,人们都会这样做:在<form>标记中加上“name="..."”属性,那么直接用 “document 阅读全文

posted @ 2019-03-26 09:17 springsnow 阅读(473) 评论(0) 推荐(0) 编辑

2019年3月25日

JavaScript(21):异常处理

摘要: 一、什么是例外处理 当 JavaScript程序在运行中发生了诸如数组索引越界、类型不匹配或者语法错误时,JavaScript解释器就会引发例外处理。 ECMAScript定义了六种类型的错误,除此之外,我们可以使用Error对象和throw语句来创建并引发自定义的例外处理信息。 通过运用例外处理技术,我们可以实现用结构化的方式来响应错误事件的发生,让例外处理代码与正常脚... 阅读全文

posted @ 2019-03-25 15:49 springsnow 阅读(202) 评论(0) 推荐(0) 编辑

2019年3月24日

JavaScript(20):Cookie操作

摘要: cookie 用于存储 web 页面的用户信息。一、什么是 Cookie?Cookie 是一些数据, 存储于你电脑上的文本文件中。当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。Cookie 的作用就是用于解决 "如何记录客户端的用户信息":当用户访问 web 阅读全文

posted @ 2019-03-24 01:01 springsnow 阅读(182) 评论(0) 推荐(0) 编辑

2019年3月23日

JavaScript(19):HTML DOM 事件

摘要: 一、HTML DOM 事件1、HTML 事件属性如需向 HTML 元素分配 事件,您可以使用事件属性。向 button 元素分配 onclick 事件: 点这里 //名为 displayDate 的函数将在按钮被点击时执行。2、使用 HTML DOM 来分配事件向 button 元素分配 onclick 事件:按钮点击时Javascript函数将会被执行。 3、onload 和 onunlo... 阅读全文

posted @ 2019-03-23 09:24 springsnow 阅读(1052) 评论(0) 推荐(0) 编辑

2019年3月22日

JavaScript(18):HTML DOM

摘要: 通过 HTML DOM,JavaScript 能够访问和改变 HTML 文档的所有元素。一、HTML DOM(文档对象模型)当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。1、什么是 DOM?DOM 是一项 W3C (World Wide Web Consortium) 标准。DOM 定义了访问文档的标准:“W3C 文档对象模型(DOM)是中立于平台... 阅读全文

posted @ 2019-03-22 16:37 springsnow 阅读(13473) 评论(0) 推荐(0) 编辑

2019年3月21日

JavaScript(17):BOM,Window 对象

摘要: 浏览器对象模型(Browser Object Model (BOM))尚无正式标准。 由于现代浏览器已经(几乎)实现了 JavaScript 交互性方面的相同方法和属性,因此常被认为是 BOM 的方法和属性。 一、Window 对象 所有浏览器都支持 window 对象。它表示浏览器窗口。 1、Window 对象属性 closed:返回窗口是否已被关闭。 defaultSt... 阅读全文

posted @ 2019-03-21 17:18 springsnow 阅读(288) 评论(0) 推荐(0) 编辑

2019年3月20日

JavaScript(16):条件和循环语句

摘要: 一、条件语句通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该任务。在 JavaScript 中,我们可使用以下条件语句:if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码if...else if....else 语句- 使用该语句来选择多个代... 阅读全文

posted @ 2019-03-20 17:38 springsnow 阅读(264) 评论(0) 推荐(0) 编辑

2019年3月19日

JavaScript(15):对象和prototype继承

摘要: 一、JavaScript 对象定义所有 JavaScript 值,除了原始值,都是对象。JavaScript 原始值原始值指的是没有属性或方法的值。原始数据类型指的是拥有原始值的数据。JavaScript 定义了 5 种原始数据类型: string number boolean null undefined原始值是一成不变的(它们是硬编码的,因此不能改变)。假设 x = 3.1... 阅读全文

posted @ 2019-03-19 16:52 springsnow 阅读(250) 评论(0) 推荐(0) 编辑

2019年3月18日

JavaScript(14):function函数

摘要: 一、函数定义JavaScript 使用关键字 function 定义函数。1、函数声明函数声明后不会立即执行,会在我们需要的时候调用到。 function myFunction(a, b) { return a * b; }注意:分号是用来分隔可执行JavaScript语句。由于函数声明不是一个可执行语句,所以不以分号结束。JavaScript 对大小写敏感。关键词 function ... 阅读全文

posted @ 2019-03-18 11:32 springsnow 阅读(622) 评论(0) 推荐(0) 编辑

2019年3月16日

JavaScript(13):Object对象

摘要: 一、概述JavaScript 的所有其他对象都继承自Object对象(注意起首的O是大写),即那些对象都是Object的实例。Object对象的原生方法分成两类:Object本身的方法与Object的实例方法。1、Object对象本身的方法所谓”本身的方法“就是直接定义在Object对象的方法。Object.print = function () { console.log(this);};... 阅读全文

posted @ 2019-03-16 21:11 springsnow 阅读(299) 评论(0) 推荐(0) 编辑

2019年3月15日

JavaScript(12):RegExp正则表达式对象

摘要: 正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。 搜索模式可用于文本搜索和文本替换。 一、正则表达式 正则表达式是由一个字符序列形成的搜索模式。当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。 正则表达式可以是一个简单的字符,或一个更复杂的模式。正则表达式... 阅读全文

posted @ 2019-03-15 14:54 springsnow 阅读(332) 评论(0) 推荐(0) 编辑

2019年3月14日

JavaScript(11):JSON对象

摘要: 一、JSON对象概念JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。 1、JSON的规则 对象是一个无序的“‘名称/值’对”集合。 一个对象以“{”开始,“}”结束。 每个“名称”后跟一个“:”(冒号... 阅读全文

posted @ 2019-03-14 11:11 springsnow 阅读(211) 评论(0) 推荐(0) 编辑

2019年3月13日

JavaScript(10):Math数学对象

摘要: 一、Math 对象Math 对象用于执行数学任务。与其他全局对象不同,Math对象没有构造函数。方法和属性是静态的。可以在不首先创建Math对象的情况下使用所有方法和属性(常量)。1、Math 属性(常量)JavaScript 提供了可由 Math 对象访问的 8 个数学常量:Math.E // 返回欧拉指数(Euler's number)Math.PI // ... 阅读全文

posted @ 2019-03-13 14:32 springsnow 阅读(353) 评论(0) 推荐(0) 编辑

上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 23 下一页

导航