- 博客(52)
- 收藏
- 关注
转载 temp
//定义GetHandler委托 public delegate object GetHandler(object source); //定义SetHandler委托 public delegate void SetHandler(object source, object value); //定义InstantiateObjec...
2017-02-17 19:54:00 117
转载 程序设计概述二
变量变量的本质实为声明内存地址的别名,用易于理解操作的名称代替实际存储的数据。变量的声明,则知识声明了变量本身,而没有为其开辟内存。只有在赋值的时候才会真正的开辟内存赋值,并将内存地址返回给变量。变量的声明如:string message; 变量的赋值则用等号实现,例如message=“Hello world!”;数据类型的运算数据类型的运算主要包括算术运算,比较运算,逻辑运...
2016-11-23 00:10:00 122
转载 程序设计一
1、计算机组成计算机的组成主要是两部分:CPU,内存。CPU负责计数运算控制等;内存:临时存储CPU运算所需的数据信息。当然我们也会想到硬盘,键盘鼠标,显示器等,其实它们都可以算是外设。当内存足以支撑已有程序的运行,并且无需与外部交互的情况下,其实它就可以脱离硬盘了。而关于键盘等输入输出设备更加是如此,一台运行的服务器基本上是不需要键盘,显示器的。2、计算机运行无论是系统...
2016-11-18 00:29:00 127
转载 Android之SharedPreferences数据存储
SharedPreference定义SharedPreferences是Android平台中的一个轻量级的存储类,一般用于存储一些常用的配置,以键值对的方式进行存储,最终以xml的形式存储。存储位置为/data/data/<包名>/shared_prefs目录下。使用1、根据Context获取SharedPreferences对象;2、通过SharedP...
2016-03-04 01:49:00 118
转载 随笔
一、选择好方向,想好就是做二、专注于当下,小步快走,快速迭代三、完善自身修养,工作不是生活的全部转载于:https://www.cnblogs.com/Joy-et/p/5206839.html...
2016-02-22 13:21:00 81
转载 单一职责原则
单一职责原则(SRP) 对于一个类应该尽量只专注于做一件事,而且引起它改变的因素只应该有一个。当初次看到这个原则的时候会很纳闷,不知所以。好像编写的类没有哪个是不单一的,都能实现的,而且同一个类可以实现的,为什么要分成两三类呢?单一职责原则是基于业务,通过业务功能划分,将不同业务职责区分开来,专注于某类业务或者是单单实现某种辅助效能。例如定义一个订单处理类,就不应将订单的...
2015-11-11 00:05:00 111
转载 IBatis.Net获取执行的Sql语句
前言IBatis.Net中Sql语句是些在配置文件中的,而且配置文件是在程序启动时读取的(我们开发的时候需要将其设置成较新复制或者是始终复制),而不是程序将其包含在其中(例如NHibernate的映射文件则是设成了嵌入式资源)。很多时候我想获取程序执行了那些sql,当程序显示错误时,我们想跟踪sql,或者是查看sql是否正确,难道要我们去查看程序在跟踪到映射的配置文件查看吗。可以通过...
2015-11-01 00:26:00 180
转载 IBatis增删改差的实现以及注意点
此次进讲述对表操作的实现细节。废话不多说,代码见真章。 1 <?xml version="1.0" encoding="utf-8" ?> 2 <sqlMap namespace="EntityModel" xmlns="http://ibatis.apache.org/mapping" 3 xmlns:xsi="http://ww...
2015-10-30 00:43:00 101
转载 备忘录模式
定义在现有类的封装已经固定的情况下,需要临时备份对象的某些状态,以便在某些业务逻辑中需要还原对象的这些状态。此时引入临时备份对象实现次效果。类图从上面类图中看不出彼此之间的关系,也就无法理解备忘模式了。详情还是请看代码吧,其实是十分简单的。代码 1 /// <summary> 2 /// 订单类 3 /// </sum...
2015-10-27 23:39:00 68
转载 解释器模式
定义建立一个解释器解释程序的逻辑与业务。也就是将一个比较复杂的业务分解成语法树或者是逻辑树。类图代码 1 /// <summary> 2 /// 抽象表达式 3 /// </summary> 4 public abstract class Expression 5 { 6...
2015-10-26 23:03:00 76
转载 访问者模式
定义对于一个作用于某对象结构(集合)中的各元素的操作,在不改变各元素的类的前提下定义作用于这些元素的新操作。也就是集合对象自身决定自己的操作行为。类图坑爹的这是,图片上传不了,熬夜不易啊代码 1 public abstract class Element 2 { 3 public abstract void DoSomet...
2015-10-23 00:48:00 76
转载 享元模式
定义当系统中需要多次创建某些对象,而这些对象又无需改变,或者是改变时均一致时。可以只创建对应类的对象,并将其存于内存中,实现共享,需要用到时直接内存获取,无需多次创建。类图代码 1 public abstract class BaseColor 2 { 3 private string name; 4 pub...
2015-10-22 00:32:00 72
转载 中介者模式
定义在多对象交互业务中,引入统一业务处理的第三方,实现对象间的解耦。类图类图中包含者未引入中介者模式的方法,详情请看代码代码 1 /// <summary> 2 /// 房子管理者 3 /// </summary> 4 public abstract class HouseManger...
2015-10-21 00:49:00 77
转载 模板方法模式
定义定义实现业务的架构于基类中,制定业务模板,将具体的实现步骤延迟到基类中去,根据具体类实现不同的架构方法。举个简单的例子:例如上班:起床---交通工具---到公司工作。这就是一个业务模板,而其中变化的是:根据不同人的身份会选择不同的交通方式上班。类图代码 1 public class Employee 2 { 3 /// &...
2015-10-19 23:24:00 79
转载 外观模式
定义根据需要将子系统的实现封装成接口提供给其他业务使用,即将细粒度的对象包装成粗粒度的对象。类图这只是一个实现类的类图形式展现,也许不能表达出外观模式的用意。详情请看代码:代码 1 #region Model 2 /// <summary> 3 /// 主单信息 4 /// </summary>...
2015-10-18 22:44:00 95
转载 原型模式
定义通过实现对象可以复制自身,已现有自身对象为基础克隆出新对象,再在新对象上进行修改得到我们想要的实例。其本质为克隆,快速创建对象。类图代码 1 public class ProtoSubject : ICloneable 2 { 3 4 public string Property1 { get; set; } ...
2015-10-17 22:36:00 86
转载 C#启动进程之Process
在程序设计中,我们经常会遇到要从当前的程序跳到另一个程序的设计需求。也就是当前进程创建另一个进程。C#提供了Process使得我们很方便的实现。1、Process基本属性和方法Id //进程的IdProcessName //进程的名称PriorityClass //进程的优先级HandleCount //进程句柄数P...
2015-10-17 20:41:00 505
转载 桥接模式
定义事物类型本身有着多维度的变化,当我们在面对这样的处境时,一味的继承去扩展,会使得维度低的类型非常臃肿,代码耦合度会非常高。如何的解耦,设计的思想告诉我们---尽量用组合代替继承,这就引入了桥接模式。使用组合代替继承这就是桥接的原理所在。类图代码 1 public interface IMobilePhone 2 { 3 v...
2015-10-16 00:54:00 81
转载 单例模式
定义确保一个类在程序中只有一个实例并提供一个访问它的全局访问点。类图代码 1 public class SingleTon 2 { 3 private static object mLock = new object(); 4 private SingleTon() 5 { } 6 ...
2015-10-13 23:09:00 68
转载 观察者模式
定义观察者模式,顾名思义就是观察者对某事物进行观察,当事物状态改变(符合条件)时,通知所有的订阅者,使他们做出对应的反应。一般可以通过类之间的引用调用来实现、也可以通过事件订阅的方式实现。类实现方式的类图类实现方式的代码 1 public class Subject 2 { 3 public string State { ...
2015-10-13 00:42:00 120
转载 Win10使用中的一些问题
闲来无事,怒装Win10。使用上总体来说还是不错的,比Win8好一个档次吧。不过呢在使用中遇到两个很郁闷的问题。权且几下1、Win10激活使用工具:激活工具2、激活后浏览器被挟持这让我现在非常疼很hao123这个网站。解决方案A、右键浏览器属性---快捷方式---目标中将关于hao123的网址信息删掉,这个只是针对单单的快捷方式被挟持的情况下。在没有关机重启的情况...
2015-10-12 16:37:00 101
转载 代理模式
定义将实际业务对象封装成定义的代理对象,通过代理对象来实现实际的业务,并且可以附加自己的操作。注重点在于实现真正目标对象的同时,附加必要的操作。类图ISubject定义业务的统一接口,ProxySubject实现对RealSubject的代理。在实际的业务调用中会是用ProxySubject替代RealSubject的业务操作。代码 1 ///...
2015-10-12 00:04:00 81
转载 责任链模式
定义某事件涉及多个对象顺序的处理,其一种职责工作的传递。引入以责任为对象,以相关职责对象之间进行统一接口对象的传递,避免发起者与接收者的高耦合。实际中责任链的存在是很普遍的,例如经常涉及到的审批流就比较经典,请假的审批流程就是一例:个人申请--经理审批---认识审批记录--总经理审批。类图其中handler为责任链的统一基类,继承自它的派生类为具体的责任对象,当某一责...
2015-10-11 00:37:00 87
转载 状态模式
定义将对象的状态抽象成类,通过对象状态的改变来改变对象自身的行为状态。核心在于将状态抽象,状态的转换改变对象的状态行为。下面举个很简单的例子:通过状态模式对订单进行控制,假设订单有这样的一个流程机制:新增----审核---提交----结束,相邻状态之间可以相互转换。类图代码 public class OrderInfo { publ...
2015-10-09 00:35:00 68
转载 命令模式
定义将“行为请求者”与“行为实现者”解耦,将一组行为(命令)抽象为对象,实现二者之间的松耦合。类图其实其实现与经典的命令模式的类图是相似的,如下代码 1 /// <summary> 2 /// 命令执行者 3 /// </summary> 4 public class Invoker 5 ...
2015-10-06 00:39:00 85
转载 策略模式
定义定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。也就是将算法独立成类,在调用的时候动态的创建对应的类,调用其方法,从而使方法实现相对独立,再实现抽象成接口面向接口编程。举例类图代码实现 1 public class Context 2 { 3 ITravelStategy travelS...
2015-09-29 23:26:00 51
转载 迭代器模式
定义在不暴露集合对象的内部信息的情况下提供一种方法实现快速顺序访问集合中的各个元素。迭代器模式为遍历聚集结构提供改变索引下标,实现元素的访问方式。类图示例代码 1 public interface IIterator 2 { 3 void First(); 4 void Last();...
2015-09-28 22:30:00 67
转载 适配器模式
定义将对象的功能实现转变成提供者提供的功能结构。即保留现有类所提供的服务,向客户提供接口,实现不同接口之间的适配调用。类图描述代码示例 1 /* 2 * 使用情景:现有程序已经写好,或者是按程序设计时已经固定接口 3 * 但是又需要与其他程序或者接口匹配,调用实现 4 * 此时就需要用到设配器的模式---提供一个过渡...
2015-09-27 10:58:00 51
转载 装饰模式
定义即在不改变类本身,动态地扩展对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。包装对象和原对象拥有相似的接口方法(功能)。举例类图代码 public class OrderInfo { /// <summary> /// 下单时间 /// </summary&...
2015-09-27 00:44:00 68
转载 合成模式
定义相关合成亦可以理解为部分-整体模式。对于一般类型之间的组合、包含引用关系并不是所谓合成。合成模式是指相互之间继承至同样基类或实现统一接口,形成树形关系的一种模式。所谓树形:是指根节点为统一接口或者基类;枝节点包含叶子节点或者是其他枝节点构成复合元素,可以管理其内部的叶子节点,也可以当成叶子节点来操作(因其继承或者实现根节点);叶子节点为简单元素。举例说明1、安全合成模式...
2015-09-24 00:02:00 121
转载 创建者模式
定义创建者模式:核心思想---将对象创建的变化部分与不变部分分离,将不变的部分抽象到基类中,将变化部分的创建延迟到具体类的实现过程中去。UML表示(因为工具使用不是很给力,画得很粗糙):示例下面是自己在整理思路时所写的一个例子,具体的实现用伪代码代替。 public class Computer { public obj...
2015-09-23 00:03:00 75
转载 工厂模式之我见
实质:工厂模式是将对象的创建嫁祸给工厂类, 降低对象之间的耦合。使用实例:1、简单工厂---也叫静态工厂其精髓在于静态:当需要创建新对象时,只需通过静态方法直接调用创建即可,没有了工厂类,目标对象的创建。这也就形成了对原创建逻辑的重组与优化。 public interface IService { bool Summit...
2015-09-17 23:18:00 88
转载 设计模式的学习
序因为自己没有完整的看过设计模式,更别说真正的理解和使用过了,所以觉得蛮高大上的。而至于网络上已经存在不少关于设计模式的文章了,更是有大量的书籍对它们进行了讲解,而且讲解的非常好,例如大话设计模式、Head First设计模式。不过对于自己而言,看过不如自己写下来,根据自己的思维进行理解,所以仅此写下自己对于关于设计模式一些理解。由于自己更喜欢直接从代码上去理解,所以文章中更多的是以...
2015-09-16 23:57:00 67
转载 MSSQL基础
前言最近看到一些关于sql的汇总博客,觉得还是很不错的。于是心血来潮,也想写一篇自己对这方面的一些认识(主要是点出一下自己比较少用demo写的,一般都是直接改设计时的,例如建表、该字段名)。一、数据库建立语句create database dbTaskon primary( name='dbTask_data', filename='D:\DBData\D...
2015-09-13 11:45:00 106
转载 Ini文件帮助类
.ini文件是什么.ini 文件是Initialization File的缩写,就是初始化文件。在Windows系统中,其是配置文件所采用的存储格式(主要是system.ini,win.ini,system32.ini),统管windows的各项配置。在应用程序中,我们可以使用这种格式的文件来存放一些常量和配置信息。ini文件内容的格式如下[sectionName]k...
2015-08-29 10:54:00 110
转载 Nuget的使用
前言最近看到园子上有关于NuGet (读音:new get)的使用,所以心血来潮也跟着学习做了一下,觉得很流b哦。于是也就记一下自己的学习心得(并非一味的重复轮子,只是觉得他人做的写的就是对的,自己做出来了,验证了才是真理)。以下就是学习的知识点总结:一、NuGet的安装和使用公共包1)、安装:在vs中选择【工具】---【扩展和更新】---安装NuGet程序管理包...
2015-08-23 01:22:00 224
转载 Oracle批量执行脚本文件
以下是Oracle批量执行脚本文件的步骤和方法1、创建脚本文件(xx.sql):例如文件CreateTableCreate table tb1(id varchar2(30),Name varchar2(50));Commit;/可以创建多个,但是要注意语句之间要以分号结尾,同时注意语句内尽量不要有空行,因为空行的时候,在批量执行时可能会报...
2015-08-18 22:55:00 568
转载 FastReport扩展类
题记:最近有在用FastReport进行开发报表工作,当然也有在看书,突然想到可以用书中所写来实现一个fastreport的帮助类。对于引用第三方类库,我们都会去将这个库在调用前进行相应的封装,也就是所谓的程序提供者模式。对第三方进行封装,当需要改变第三方(使用”第四方“的时候)不会影响到我们先前的实现,只需在程序提供处进行处理就好了。好了,废话不多说,直接上些干活来:一...
2015-07-27 01:03:00 147
转载 IBatis.net初步使用
最近加班比较忙,时间也比较琐碎,蛮久没有写东西了。这次就总结一下自己使用IBatis.net的一些总结吧。IBatis简介IBatis.net是一款开源的Orm框架,应该算是从java的IBatis项目演化而来的基于C#的Orm框架。官方网站:http://www.mybatis.org/项目下载地址:http://code.google.com/p/mybatisnet...
2015-07-19 11:07:00 127
转载 C#类型转换
关于C#类型转换的知识点,在各书籍以及博客文章中一抓一大把。那么我为什么又要重复这些文字呢----只因在各类文章中描述的很不错、明了,但是到了实际使用中(写代码)却被自己忽略了。仅此记下。例如当封装了数据库执行返回受影响行数的方法ExcuteNonQuery使其方法返回了object类型,而到了业务上层,却需要将其转换数值型,或者说直接拆箱成数值型(如int),根据其是否大于零来判断...
2015-05-16 18:05:00 120
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人