自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xumingxsh的专栏

人生无限烦心事,使我如此不自由

  • 博客(44)
  • 资源 (15)
  • 收藏
  • 关注

原创 软件开发总结--一些关于需求的感想

一些比较细碎的感想用户/客户是谁,我们用什么打动用户/客户?我们用价值打动用户/客户,如果我们不了解用户/客户, 不去关心他们真正需要的是什么,则不知道什么对用户/客户有价值。如果我们不清楚用户/客户是谁,不知道价值是什么,很可能我们会将力气用偏。【开发人员都是完美主义者,用户不一定需要这样的完美主义者, 用户怕不能给他们提供价值,不能尽快给他们提供价值】紧盯用户和价值...

2020-03-26 10:08:34 337

原创 软件开发总结--需求与开发

需求不是越多越好,也不是越详细越好。一个好的需求属于一系列关联需求的一部分。 这一系列需求关联一个要发布的版本,这个版本要有自己希望达到的目标,这个目标的一个主要表现就是为一个或多个用户提供实用,重要或紧迫的价值。 这个需求要有验收条件,达到这些验收条件,该需求也就完成了。 该需求应该有允许讨论(妥协)和不允许讨论(妥协)的两部分。用户价值是不允许讨论(妥协)的,具体实现方案是允许讨论...

2020-03-23 13:38:46 841

原创 对用户故事的理解及其他

概述这几年一直在思考敏捷开发中的用户故事,并尝试在工作中使用用户故事。 发现不论敏捷开发还是瀑布式开发,很多东西都是相通的(或者说一样的)。在本文的后半部分我根据对用户故事的实践和理解列出一些内容。 你会发现,这些内容与《系统分析与设计方法 第7版 》第7章 使用用例建模系统需求 P179 中的表格几乎一模一样。理解或原则下笔前,先列明几个理解或原则:1: 在开发一个...

2020-02-10 16:32:02 459

原创 根据对MVVM中ViewModel的理解写的一个前端脚本

这几天对MVVM模式做了简单的理解. MVVM中的MV是MVC中的MV, 而VM是在View之前添加了一层前端的逻辑层ViewModel. 该Model中的对象针对前端显示提供数据和接口. VM中有一部分功能是实现ViewModel和前端控件的自动绑定,包括读取和写入,我根据这个理解写了个简单的脚本,并进行了一次重构,写在这儿,权当整理.1: 展示对象展示对象很简单,本例中是一个用户信息...

2019-04-24 14:40:52 232

原创 我想写一个Linux下的C++程序库--记我的C++库设计历程:设计一个TCP服务程序

我想写一个Linux下的C++程序库,实现一些常用的功能。我首先想到的就是实现一个TCP监听程序。该程序应该具有哪些功能呢?1: 启动/停止监听2: 有客户端连接时,通知调用者3: 与客户端断开时,通知调用者4: 有消息到达时,通知调用者5: 尽量避免程序退出时有没有close的socket。该程序的大体接口及结构主要用一个类表示,内容如下:#pragma

2015-02-17 20:22:04 1142

原创 自定义快捷命令程序(VC++加批处理)

这是一个能提高用户工作效率的工具,以往需要用鼠标点击n次才能完成的操作,用它只需要敲击几下键盘就完成了。我的程序叫XBAT,在开机时自动运行。XBAT的界面为一个可见的文本框,位于左面的右上角,占据很小的位置。使用场景:1: 用户想用浏览器打开百度网站时,同时按下“Win + Z”键,XBAT文本框获得焦点2: 用户输入“bd”,按下Enter键。3: 浏览器打开百度站点。现在这个程序我自己用起来得心应手,没有这个程序,我感觉很不方便。我现在常用的是用它来打开iis,打开“服务”,打开“DE

2014-08-22 11:19:23 1552

原创 学习实践:使用模式,原则实现一个C++自动化测试程序

个人编程中比较喜欢重构,重构能够提高自己的代码质量,使代码阅读起来也更清晰。但是重构有一个问题,就是如何保证重构后带代码实现的功能与重构前的一致,如果每次重构完成后,对此不闻不问,则会有极大的风险,如果每次重构后,都进行一边测试,则工作量会很巨大,最终可能是即使代码有重构的欲望,也会尽量克制住,不去重构。除非代码能够进行自动化测试。实际上进行测试的是接口,而不是所有代码,只要能够保持接口不变,自动化测试的工作量也没有想象中的巨大。其实我们在单元测试的时候,会测试各种异常情况,只不过,没有将这些测试写成测试代

2014-08-20 17:23:05 4121

原创 学习实践:使用模式,原则实现一个C++数据库访问类

一、概述在我参与的多个项目中,大家使用libMySQL操作MySQL数据库,而且是源码即复用,在多个项目中有多套相同或相似的源码,这样的复用方式给开发带来了不变,而且libMySQL的使用比较麻烦,要应对很多的细节,很容易出错。我要写一个动态链接库,将对libMySQL的操作封装起来,以二进制复用代替源码级复用;要提供线程安全的接口,用户无需关系是否加锁这样细节性的问题,减少出错及

2014-08-18 17:18:57 3593

原创 从头开始学习JAVA 6--引入JQuery

5 JQuery:在Index.jsp中,使用到JQuery。1)添加taglib在页面头部添加如下代码:Taglib类似于自定义控件。2)添加Jquery     scripttype="text/javascript"src="c:urlvalue="/resources/jquery-1.7.2.min.js"/>">script>sc

2013-03-10 07:53:50 2763

原创 从头开始学习JAVA 5--Spring MVC

4 Spring MVC1)引入Jar在IVSMDemo中,引入如下jar包: 注意引入Java EE 5 Library2)配置Web.xmlxmlversion="1.0"encoding="UTF-8"?>web-appversion="2.5"    xmlns="http://java.sun.com/xml/ns/javaee"

2013-03-10 07:42:42 5127

原创 从头开始学习JAVA 4--创建Web程序

创建Web程序1)创建项目2)运行选择“Tomcat 6.x”:“Console”中,显示Tomcat启动情况:3)访问Web页面在IE中,输入“http://localhost:8080/IVSMWebDemo/”路径,打开Web页面。4)Web程序的配置文件welcome-file-list/ welcome-fi

2013-03-09 23:10:39 1136

原创 从头开始学习JAVA 3--MyEclipse

2 MyEclipse1)安装MyEclipse略2)配置MyElipse3)如何使MyEclipse更快取消自动校验取消build取消自动构建4)配置Web服务打开MyEclipse,在“windows/preferences”下选择“/MyEclipse Enterprise Workbench/Server/Tomcat/ Tomc

2013-03-09 23:05:10 953

原创 从头开始学习JAVA 2--Tomcat

首先关注tomcat。1 Tomcat1)前提已经下载Tomcat压缩文件。已经安装JAVA JDK。已经设置JAVA_JOME环境变量。2)启动点击“bin”文件夹下的“startup.bat”批处理文件可以启动tomcat。在IE中,输入“http://localhost:8080”会打开Tamcat首页,如果首页显示,说明tomcat启动成功。

2013-03-09 23:00:54 1053

原创 从头开始学习JAVA

0前言1)概述本人有10年使用ASP.NET的经验,在2007年时,有三个月的Java使用经验,主要是做Swing的东西,当时感觉MyEclipse真不好用,Java和C#的语法差不多,但是Java对通用编程比C#好多了。由于需要,今年(2013)2月份开始,重拾Java,主要用来做Web程序。目标:尽快掌握Java Web开发的相关知识及各项技能2)学习策略l

2013-03-09 22:55:48 1785

原创 应用GeoServer(一)

1       下载并安装GeoServer1.1. 下载从http://geoserver.org/display/GEOS/Welcome网站中下载GeoServer安装文件。当前下载的是geoserver-1.7.0-RC3。 1.1. 安装:安装geoserver-1.7.0-RC3.exe文件,当遇到下图所示的弹出窗口时,点击“确定”即可。   

2008-11-28 17:16:00 1408 2

原创 对软件需求的点滴认识

做需求,首先需要了解用户需要的功能,在知道用户需要的(部分)功能后,根据这些推导出用户功能背后的业务逻辑,然后对业务逻辑做进一步的分析,根据分析结构与用户再做进一步的沟通。需求有三个特点:完整性,必须性,正确性,这三个特点是在对业务逻辑的分析后得出的  很多时候说用原型来调查需求,我想这个原型不是一段程序,而是一个完整的业务逻辑流程。  如果想创新,必须建立在对行业的理

2008-09-17 13:46:00 576

原创 ASP.NET中控件应用的思考

页面其实就做两件事情,第一件事情就是显示数据,第二件事情就是收集需要处理的数据。现在,假设有一个容器,能给页面提供显示所需要的数据,也可以收集页面的数据,则整个页面只需要与该容器打交到就可以了。后台页面甚至不需要一行代码。这只是理想状态,这种理想状态可以实现吗?别的不说,就说显示数据,至少需要this.txtName.Text="abc";这样的代码吧,总不成在页面上用吧?有这样合适的容器吗?当提

2008-08-22 17:25:00 551

原创 扩展TextBox控件

在做B/S开发中,大家经常用到TextBox控件,而且经常需要对输入其中的数据进行合法性检查。这种检查可以通过多种方式来实现。我喜欢用Javascript来检查。但是,每一个控件都要用一段Javascript代码来检查,太麻烦,可以不可以来一下抽象呢?我希望通过扩展TextBox来实现该控件数据合法性JavaSript的抽象。思路:1:扩展TextBox控件:  public class Text

2008-08-04 09:21:00 1487 2

原创 扩展DataGrid

在ASP.NET编程中,经常会用到DataGrid(或GridView)。其实,用的时候,这个DataGrid与那个DataGrid,很多功能都几乎是相同的。例如,分页,排序。例如:一般情况下,Int列应该居中显示,字符串列应该靠左排序,double等应该靠右排序,且应该取到小数点后两位,时间格式应该居中,且应该按一定格式显示,例如“YYYY-MM-DD”;如果某列允许排序,则该列的排序字段一般与

2008-08-02 10:06:00 986

原创 咀嚼代码--图学Community Server2.0--Form控件类图

 咀嚼代码--图学Community Server2.0--Form控件类图  

2008-07-18 14:02:00 760

原创 咀嚼代码--图学Community Server2.0--Condition控件类图

 

2008-07-18 14:00:00 524

原创 咀嚼代码--图学Community Server2.0--Action控件类图

最近在看CommunityServer,下面是Action控件的类图: 

2008-07-18 13:33:00 819

原创 站在人的角度写代码

    今天在写一个程序,其中有几个类是原来的项目中已经存在的,为了图方便我就把这几个类一个一个的拷贝过来了。每当我拷贝一个的时候我都编译一遍。当拷贝第一个类的时候,编译时出现错误,提示找不到A类,把A类再拷贝过来,编译后又说找不到B类,找到B类又说找不到C类,如此拷贝了半天才把所需要的东西拷贝过来,编译成功。觉得:    这样A类调用B类,B类调用C类,...他们之间的这

2008-07-04 10:27:00 766

原创 CommunityServer中的代码页面分离

第一步:找一个页面。首先找到一个页面:CS2008_4.0.30417.1769.sdk/source/Web/Themes/calypso/Common/login.aspx 第二步:找一个处理逻辑的控件发现该页面中有个控件:CSControl:LoginForm。代码如下:

2008-06-21 11:20:00 582

原创 用C++实现单件模式【包含两个char*变量】

 用C++实现单件模式,有很多地方需要注意的。 简单的单件模式程序:下面是我写的一个实现单件 :  class SystemConfig  {private:    static    SystemConfig    *s_Config;            // 存储对象的静态变量public:    static  SystemConfig    *Ge

2008-04-08 10:31:00 859

原创 打算写一个C++程序(2)

打算写一个C++程序 其实我是想用MFC静态库实现一个通过TXT配置文件在程序中动态创建界面的程序。主要思路是:1:提供一个基类CSearchBaseDialog,在基类中,程序从配置文件中读取界面控件的信息,然后根据配置文件中的信息在界面上创建相应的控件。配置文件的格式:IDC_BTN_MAIN_MENU=10;80;10;40;102;button;菜单 解释:ID

2008-04-07 10:31:00 816

原创 打算写一个C++程序(1)

 打算实现一个自己的C++程序,具体思路是:不应用MFC提供的框架;一个界面对应一个配置文件;将界面中的所有控件信息写在配置文件中,通过读取配置文件即可知道界面中所有控件的信息,这样的好处是可以动态的修改界面而不需要修改程序;配置文件的信息:位置信息,控件类型,控件文本,控件ID,控件主键;提供界面基类,界面的基类完成创建界面控件。  我现在还不会用C++读取配置文

2008-04-03 09:42:00 1065

原创 xumingxsh凑的诗

云淡风轻近午天,拂堤杨柳醉炊烟。儿童散学归来早,才了蚕桑又插田。 

2008-03-22 09:08:00 495

原创 编程语言中的文言文

这两天在看钱能老师的《C++程序设计教程》 。其中有一段讲int a = 3, b = 5, c;c = a*b + ++b;count 在BC中运行得到的结果是24,而VC中得到的是21.原因是“在不同的编译器求值顺序不同”。 在一本C++中的书上讲到这些是可以的,因为怕以后遇到这样的问题不知道怎么回事。但是,如果某个程序员写出这样的程序,却是该打。我觉得像++b

2008-03-20 08:29:00 3274 1

原创 C#中的修饰符

C#中的修饰符有很多,可以分类:类修饰符,存取修饰符,成员修饰符。 (一)   类及其类的存取修饰符有:public,inner,friend,abastruct,sealed1.         public:public class ClassPublic{}如果一个类声明为public,则该类的应用不受限制。具体含义可与inner参考对比。2.        

2008-03-18 16:43:00 916

原创 C#中的命名空间

 最近在看C++ Primer Plus。打算把自己看得记下来。算是倒粪。先复习一下C#中的命名空间。C#中有命名空间,Java中有包。命名空间我觉得就像是装类的一个箱子,知道这个箱子再找某个类就方便了。在C#中,用法如下:文件:Xumingxsh.csnamespace Xumingxsh{public class XumingxshSpace{}public

2008-03-17 14:35:00 7976 3

原创 我的读书生涯

从小就热爱看书,“余幼好书,家贫难至,有蒋氏者藏书甚富,往借不予,归而形诸梦”。我也有和袁枚一样的情形,上高中的时候经常梦到自己有很多书,每到这时就特别激动。不过那时候更喜欢的是武侠书。工作也后,看的书就转到技术书籍上了。记得我刚参加工作的时候,什么也不会,记得有人问我ASP是写前台程序的还是写后台程序的?我回答说前台。其实,那时候什么是ASP根本不知道。还有人问我数据库是什么?不知道。

2008-03-15 11:29:00 939 1

原创 对重构的理解

重构,我的理解就是整理代码。记得以前有人跟我说“做软件,一定要对自己的东西尽量最求完美”。我想他这句话应该和重构有点关系吧。记得我刚开始写程序的时候,什么都不会,有点乱写的意思。想到哪儿就写到哪儿,经常是写了一周的代码,自己都不知道自己写些什么。运行中出现问题,自己都头疼去看源代码。那时候,对oop不熟悉,也懒得去修改,这大概是造成这种局面的原因了。 后来有时间了,看看书,知道了什么是

2008-03-13 17:22:00 854

原创 Socket实例代码

最近在用Socket,不是很明白,但是总算是实现了socket传信息。现在把代码贴在这里:这是一段MFC中的代码:服务器端接受数据的代码:static DWORD WINAPI RunSocket(LPVOID lpvoid);int CSocketAppView::OnCreate(LPCREATESTRUCT lpCreateStruct) {    if (CView::On

2008-03-12 16:25:00 2883 1

原创 对数据仓库的认识

什么是数据仓库,以下是我对数据仓库的认识:       假设你有很多很多的衣服。有些是经常穿的,有些是不经常穿的。都放在柜子里。经常穿的,你可能隔三五天就取出来穿,穿完后再放回去。不经常穿的,可能搁在那儿,八辈子也不会动,有点像鸡肋,放着占地方,丢掉又很可惜,而且,说不定什么时候还会穿上一把呢?       把这两种衣服放在一个柜子里,是不是会觉得很乱,不方便啊?      这时候,就应该把常穿的

2008-03-11 10:45:00 1122

原创 C#中的委托与事件

delegate及event在C#中叫委托与事件。他们的作用就是在类外执行其他对象的一个函数的操作。最近看C++的相关文章才知道,原来我们定义一个委托,其实就是定义一个函数格式,它可以告诉编译器,当代码中调用到该委托的时候,它的格式是什么样子的【返回值,参数数量,参数类型】事件就是一个函数指针,它告诉程序,你把合适的地址及参数传给我,我就能给你做你希望我做的事情。事件在未绑定的时候是空

2008-03-10 16:56:00 645

原创 在mfc中动态创建按钮

第一步:在Resource.h中,添加按钮ID:ID_BTN_TEMP = 1001第二步:在View类【CView的子类】中添加一个变量,判断按钮是否已经创建:bool m_bIsCreatButton;第三步:创建一个按钮数组:CBitmapButton *m_bitList[11]第四步:在View类【CView的子类】的构造函数中,初始化bIsCreatButton:m_bIsCreatB

2008-01-23 15:34:00 4857

原创 以较少代码实现DataGrid的排序,翻页,删除等功能【2】

关于上一篇,《以较少代码实现DataGrid的排序,翻页,删除等功能》具体实现的其他辅助代码在这儿,本篇的代码全是多个页面公用代码。页面代码中,添加,删除,编辑这些按钮,以及DataGrid中的属性设置等HTML代码都去哪儿了呢?DataGrid控件属性,提交按钮属性,删除按钮属性放到主题中去了。下面是主题文件:Default.skin   -- 页面中,通过styleSheetTheme="De

2008-01-23 15:12:00 619

原创 以较少代码实现DataGrid的排序,翻页,删除等功能 【1】

通过ASP.Net2.0中的母版、主题以及面向对象中的继承、多态等技术可以节省很大的代码量。以下是我实现的DataGrid的排序,翻页,删除等功能。首先看一下运行后的效果图:在这个页面中,实现了排序,分页,删除,编辑等功能,用户选择记录,点击“删除”按钮后,可删除记录。用户点击添加,编辑,删除,查看,查询等按钮,会调用相应的脚本,这里就不再描述脚本代码了。下面是实现代码:页面代码:@ Page

2008-01-23 15:08:00 631

原创 应用自定义控件实现页面输入数据自动判断

1:在页面中需要一个输入日期的TextBOX。2:扩展TextBOX,使其具有属性:1)控件名称--例如【生日】,数据类型【例如:DateTime】,是否允许为空,最大长度,最小长度:3:根据属性生成alt属性字符串:ColumnTextBox表示控件类型为TextBox字符串:生日;ColumnTextBox;DateTime;1;255;8;的含义:控件对应的项:生日【生日】控

2008-01-23 15:07:00 1164

自定义快捷命令程序(VC++加批处理)--Release

这是一个能提高用户工作效率的工具,以往需要用鼠标点击n次才能完成的操作,用它只需要敲击几下键盘就完成了。 我的程序叫XBAT,在开机时自动运行。XBAT的界面为一个可见的文本框,位于左面的右上角,占据很小的位置。 使用场景: 1: 用户想用浏览器打开百度网站时,同时按下“Win + Z”键,XBAT文本框获得焦点 2: 用户输入“bd”,按下Enter键。 3: 浏览器打开百度站点。 现在这个程序我自己用起来得心应手,没有这个程序,我感觉很不方便。 我现在常用的是用它来打开iis,打开“服务”,打开“DEPENDS.EXE”,打开自己常用的文件夹,常用的sln,打开命令行,打开常用站点,常用文件夹。

2014-08-22

自定义快捷命令程序(VC++加批处理)

这是一个能提高用户工作效率的工具,以往需要用鼠标点击n次才能完成的操作,用它只需要敲击几下键盘就完成了。 我的程序叫XBAT,在开机时自动运行。XBAT的界面为一个可见的文本框,位于左面的右上角,占据很小的位置。 使用场景: 1: 用户想用浏览器打开百度网站时,同时按下“Win + Z”键,XBAT文本框获得焦点 2: 用户输入“bd”,按下Enter键。 3: 浏览器打开百度站点。 现在这个程序我自己用起来得心应手,没有这个程序,我感觉很不方便。 我现在常用的是用它来打开iis,打开“服务”,打开“DEPENDS.EXE”,打开自己常用的文件夹,常用的sln,打开命令行,打开常用站点,常用文件夹。

2014-08-22

我的C++自动化测试程序

个人编程中比较喜欢重构,重构能够提高自己的代码质量,使代码阅读起来也更清晰。但是重构有一个问题,就是如何保证重构后带代码实现的功能与重构前的一致,如果每次重构完成后,对此不闻不问,则会有极大的风险,如果每次重构后,都进行一边测试,则工作量会很巨大,最终可能是即使代码有重构的欲望,也会尽量克制住,不去重构。除非代码能够进行自动化测试。实际上进行测试的是接口,而不是所有代码,只要能够保持接口不变,自动化测试的工作量也没有想象中的巨大。其实我们在单元测试的时候,会测试各种异常情况,只不过,没有将这些测试写成测试代码罢了。 在Java中有JUnit,在C#中有NUnit,在C++中,笔者并不知道有哪些自动化测试工具(笔者的孤陋寡闻)。于是就产生了自己写一个自动化测试程序的想法。

2014-08-20

我的自动化测试程序

个人编程中比较喜欢重构,重构能够提高自己的代码质量,使代码阅读起来也更清晰。但是重构有一个问题,就是如何保证重构后带代码实现的功能与重构前的一致,如果每次重构完成后,对此不闻不问,则会有极大的风险,如果每次重构后,都进行一边测试,则工作量会很巨大,最终可能是即使代码有重构的欲望,也会尽量克制住,不去重构。除非代码能够进行自动化测试。实际上进行测试的是接口,而不是所有代码,只要能够保持接口不变,自动化测试的工作量也没有想象中的巨大。其实我们在单元测试的时候,会测试各种异常情况,只不过,没有将这些测试写成测试代码罢了。 在Java中有JUnit,在C#中有NUnit,在C++中,笔者并不知道有哪些自动化测试工具(笔者的孤陋寡闻)。于是就产生了自己写一个自动化测试程序的想法。

2014-08-20

我的数据库访问类源代码

在我参与的多个项目中,大家使用libMySQL操作MySQL数据库,而且是源码即复用,在多个项目中有多套相同或相似的源码,这样的复用方式给开发带来了不变,而且libMySQL的使用比较麻烦,要应对很多的细节,很容易出错。 我要写一个动态链接库,将对libMySQL的操作封装起来,以二进制复用代替源码级复用;要提供线程安全的接口,用户无需关系是否加锁这样细节性的问题,减少出错及死锁的机会,当然也要允许用户自己选择是否线程安全的访问数据库;要简化访问数据库的流程,接口越简单越好。 我从2011年开始写这个库,我给它起名字叫HiDB。

2014-08-18

ASP中含flex的程序

ASP中调用Flex,actionscript与javascript交互,将flex放置在特定的位置。

2009-02-19

.net2.0版代码生成器

这是一个给予.net2.0及sql-server2000的代码生成器。 会自动生成SQL语句,存储过程,资源文件及增删改查页面。 一个代码生成器,后面要跟着一个整体框架,这样生成的代码才有地方可放。我的整体框架会在以后一步步提供。框架设计的好,生成的代码才会更少,更易理解,更灵活。整体架构的设计,其实是在抽象,耦合行,复杂性,性能之间权衡,项目的大小也是一个重要的考虑方面。 我理解的代码生成器,其实不仅仅是生成代码的一个工具,代码生成器可以加快开发的速度,把开发中某些重复性的工作交由代码生成器来完成,这样开发者就可以把更多的精力投入到需求调研和数据库设计上了,而且还可以加快开发人员的响应速度。 编写一个代码生成器,并对它进行持续的改进,其实也是个人对技术进行学习,沉淀的一种方式。通过编写代码生成器,我们会关心自己的代码是够已经很好的抽象了【因为抽象后,需要编写的代码就少了,这样代码生成器的代码也就少了】,代码是否很容易明白,是否解除了各个模块间的耦合【耦合松了,代码生成器生成的各种代码就会自由一些,不会受彼此的牵制】,代码的可配置是否好【如果程序可以配置,则放在配置文件里,生成配置文件比生成代码容易的多啊】。总之,编写代码生成器,会让自己更多的站在代码的使用者角度上看待代码。下载下来的朋友可以看看,添加,编辑页面的代码是不是很少啊?我觉得这就是这些思想的反映。 欢迎大家下载,并给我提供意见,不胜感激!!!

2008-08-26

公交换乘的实现

<br> // 取得出发站点所经的公交车的字符串<br> // 取得目的地所经的公交车的字符串<br> // 取得两个站点都存在的站点,即可以直达的公交车<br> // 解析出发点与目的地的公交车的字符串,得到两个数组<br> // 分别以两个数组的元素作为参数,取得相交的站点,即可一次换乘到达的站点<br> // 计算路径信息

2008-07-23

咀嚼代码--图学Community Server2.0--Form控件类图

咀嚼代码--图学Community Server2.0--Form控件类图

2008-07-18

咀嚼代码--图学Community Server2.0--Condition控件类图

咀嚼代码--图学Community Server2.0--Condition控件类图

2008-07-18

咀嚼代码--图学Community Server2.0--Action控件类图

咀嚼代码--图学Community Server2.0--Action控件类图

2008-07-18

C++程序案例MFCFrmX

打算写一个C++程序 其实我是想用MFC静态库实现一个通过TXT配置文件在程序中动态创建界面的程序。<br><br>主要思路是:<br><br>提供一个基类CSearchBaseDialog,在基类中,程序从配置文件中读取界面控件的信息,然后根据配置文件中的信息在界面上创建相应的控件。<br><br>本文件是http://download.csdn.net/source/404250的升级版<br><br>对以前的代码进行了重构,修改的地方颇多。<br><br>有一点,在这版代码中用到了函数指针和宏,每个函数指针对应一个控件操作,我本来想写成控件事件的,最终没有成功【虽然用一定的技术能实现,但是该实现太罗嗦,不敢用】。每个窗体类中都有一个名称相同的静态函数,于是使用了宏,虽然这样使代码不直观,但是使代码更抽象,以后要对代码进行修改,也可以集中在一处进行修改。<br><br>此外,因为用到了函数指针,所以把一些虚函数写成了私有函数,这样会使代码更明了。<br><br>因为一个控件有很多属性,所以把属性单独写成一个类了,然后每个控件对象有一个属性成员,这样会使控件类实现的功能更明确,但是一定程度上增加了代码的复杂度。<br>其实把属性独立出来是有好处的,以后可以给控件增加一个属性SKinID【参考ASP.NET2.0中的皮肤】<br>我怎么感觉一定程度上像是在写一个特别简单的浏览器啊?

2008-07-10

MFCFrm.rar

打算写一个C++程序 其实我是想用MFC静态库实现一个通过TXT配置文件在程序中动态创建界面的程序。<br><br>主要思路是:<br><br>提供一个基类CSearchBaseDialog,在基类中,程序从配置文件中读取界面控件的信息,然后根据配置文件中的信息在界面上创建相应的控件。<br>

2008-04-07

设计模式迷你手册.chm

一本关于设计模式的书。设计没有模式。现有的设计模式只不过是开拓你的思路,或者你在想一个问题想不明白的时候的一个参考,千万不要迷信设计模式

2008-03-18

Socket实例程序

Socket实例程序

2008-03-12

空空如也

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

TA关注的人

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