摘要: 这个存储过程用来数据的分页,里面构造的一个函数实现这个功能;if object_id('fenye','p') is not null/*判断是否存在fenye这个存储过程*/ drop proc fenye GO CREATE PROCEDURE [dbo].[fenye] @currentpage int=1,/*记录当前的页数,初始值为1*/@count int=10, /*每一个页面所显示的数据量*/@tablename varchar(20),/*所查询的表的名字*/@colunm varchar(20) /*表中查询的字段*/AS declare @ 阅读全文
posted @ 2011-11-16 09:18 指尖流淌 阅读(413) 评论(0) 推荐(0) 编辑
摘要: ASP.NET数据库备份和还原先导入Interop.SQLDMO.dll (com组件)using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;/ 阅读全文
posted @ 2011-11-16 09:11 指尖流淌 阅读(370) 评论(0) 推荐(0) 编辑
摘要: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; //设计模式之单件模式 /* 单件设计模式适用性:1、当类只能有一个实例而且客户可以弄一个众所周知的访问点访问它时 * 1、当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时 * 应用场景: * 1、每台计算机可以有若干个打印机,但只能有一个Printer Spooler.避免两个打印作业同时输出到打印机。 * 2、pc机中可能有几个串口, 阅读全文
posted @ 2011-11-16 09:09 指尖流淌 阅读(181) 评论(0) 推荐(0) 编辑
摘要: using System; using System.Collections.Generic; using System.Linq; using System.Text; ///在电脑组装机总有这样的经历,我们到了店里,先会有一个销售人员来询问你希望装的机器是怎么样的 ///的配置,他会给你一些建议,最终会形成一张装机单。和客户确定好装机配置以后,他会把这张单子交给 ///提货的人,由他来准备这些配件,准备完成后交给装机技术人员。技术人员会吧这些配件装成一个整机交给 ///客户 ///不管是什么电脑,它总是有CPU,内存、主板、硬盘以及显卡等部件构成的,并且装机的过程过程总是固定的: ///1 阅读全文
posted @ 2011-11-16 09:07 指尖流淌 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。场景 游戏场景中的有很多相似的敌人,它们的技能都一样,但是随着敌人出现的位置不同,这些人的能力不太一样。假设,我们现在需要把三个步兵组成一队,其中还有一个精英步兵,能力特别高。那么,你或许可以创建一个敌人抽象类,然后对于不同能力的步兵创建不同的子类。然后,使用工厂方法等设计模式让调用方依赖敌人抽象类。 问题来了,如果有无数种能力不同步兵,难道需要创建无数子类吗?还有,步兵模型的初始化工作是非常耗时的,创建这么多步兵对象可能还会浪费很多时间。我们是不是可以通过只创建一个步兵原型,然后复制出多个一摸一样的步兵呢?复制后,只需要调 阅读全文
posted @ 2011-11-16 09:04 指尖流淌 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 概述创建型模式,就是用来创建对象的模式,抽象了实例化的过程。它帮助一个系统独立于如何创建、组合和表示它的那些对象。本文对五种常用创建型模式进行了比较,通过一个游戏开发场景的例子来说该如何使用创建型模式。为什么需要创建型模式所有的创建型模式都有两个永恒的主旋律:第一,它们都将系统使用哪些具体类的信息封装起来;第二,它们隐藏了这些类的实例是如何被创建和组织的。外界对于这些对象只知道它们共同的接口,而不清楚其具体的实现细节。正因如此,创建型模式在创建什么(what),由谁(who)来创建,以及何时(when)创建这些方面,都为软件设计者提供了尽可能大的灵活性。假定在一个游戏开发场景中,会用到一个现代 阅读全文
posted @ 2011-11-16 09:03 指尖流淌 阅读(230) 评论(0) 推荐(1) 编辑
摘要: 概述:在软件系统中,由于应用环境的变化。常常需要将“一些现存的对象”放在新的环境中应用,但是新的环境中要求的接口是这些现存对象所不能满足的。那么如何应对这种“迁移的变化”?如何既能利用现有的对象的良好实现,同时有能满足新的应用环境所要求的接口?这就是本文要说的Adapter模式。生活中的例子:适配器模式允许将一个类的接口转换成客户期望的另一个接口,使得原本由于接口不兼容而不能一起工作的类可以一起工作。扳手提供了一个适配器的例子,一个空套在一个齿上,齿轮的每个边的尺寸是相同的。生活中的例子:6号板子能那解开6号的螺丝,8号的板子能解8号的螺丝。我们需要做的就是将用8号的板子来打开6号的螺丝。适配 阅读全文
posted @ 2011-11-16 09:02 指尖流淌 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 所有编程初学者都会有这样的问题、就是碰到问题就直觉的用计算机能理解的逻辑来描述和表达待解决的问题及具体的求解过程。这其实是用计算机的方式去思考、比如计算器程序,现要求输入两个数和运算符号、然后根据运算符号判断选择运算、得到结果,这本是没有错,但这样的思维确实的我们的程序只能满足实现当前的需求,程序不容易维护,不容易服用。从而达不到高质量代码的要求。举例:中国古代的活字印刷技术没发明以前、当一个刻板完成以后、要需改动里面的一个字的时候、就需要全部重新刻、这样以前刻好的文字就全部白费、但活字印刷改变了这个方向:第一、要改里面的一个字就行、此为可维护;第二、这些字并非用完这次就无用,完全可以再后来的 阅读全文
posted @ 2011-11-16 09:01 指尖流淌 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 上一篇日志、我们应用到了设计模式三大特性的封装、今天这一片我们继续研究程序设计的另几种比较优秀的特性。在上面的程序中这款计算器只涉及了加、减、乘、除算法、现在我们要加一个平方根运算,我们的思路会是改动我们的计算类,在switch中加一个分支就行了,但是这样的话要让加减乘除的运算都得来参与编译,如果你一不小心,把加法运算改成了减法,这岂不是大大的糟糕。这还不是最主要的,看这个例子,如果公司要求你为公司的薪资管理系统做维护,原来只有技术人员(月薪),市场销售人员(底薪+提成),经理(年薪+股份)三种运算算法,现在要增加兼职人员(时新)的算法,但按照咱的思路写法,公司就必须把包含原三种算法的运算类给 阅读全文
posted @ 2011-11-16 08:59 指尖流淌 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 摘抄自《大话设计模式》一书报名参赛:“来、来、来,快来报名了,设计模式大赛,每个人都有机会,每个人都能成功,今天你参加比赛给自己一个机会,明天你就成功还社会一个辉煌。来来......”台子上方一很长的横幅,上写着“OOTV杯设计模式大赛海选”,下面一个帅小伙拿着话筒卖力的吆喝着。“大姐、二姐,我们也去参加报名参加吧。”工厂三姐妹中最小的简单工厂说道,“这种选秀比赛,多的去了,很多是骗子的,没意思”大姐抽象工厂说“我觉得我们三姐妹有机会的,毕竟我们从小就是学这个出身。”二姐工厂方法也很有兴趣参加。“大姐,去吧,去吧”简单工厂拉住抽象工厂的手左右摇摆着。“行了行了,我们去试试,成就成,不成可别乱哭 阅读全文
posted @ 2011-11-16 08:58 指尖流淌 阅读(429) 评论(0) 推荐(0) 编辑