03 2005 档案
摘要:前几天,我就在想一个问题,即扩展BlackBerry系统应用程序的菜单, 我打算分为几个步骤: 1)是否真的可以这样做,毕竟BlackBerry是另外一个操作系统 2)即然可以加入,如何加入 3)加入之后,如何实现自己的功能 这个问题已经困扰了我很久,今天看了看BlackBerry的SDK,发现了几个关于Menu的类,我就在想,应该可以从这几个类入手.在前几天,我寻找了几个开源的工具,很遗憾的是没...
阅读全文
摘要:这次写的是Pet Shop各层之间是调用的.其主要体现就是在各个namespace里面.既然这样,所以我稍加整理了一下,就有了如下图: 看了这个图,我想我得心里就有底了.
阅读全文
摘要:正在学习PetShop3.x,现将一些自己的一些总结写出来. PetShop3.x分层分得很清楚,分别为UI,Business Layer,Data Access Layer,典型的N层体系结构.表现的 非常棒. 但是仔细一看源代码,发现并不是那么简单分清楚,原因就是在表现Data Access layer时,做了一些易于扩展的 架构,那就时工厂模式.所以为了把它搞清出,我专门选了一个功能来研究...
阅读全文
摘要:Microsoft .NET Pet Shop 3.x: .NET Pet Shop 的设计模式与体系结构 摘自微软MSDNhttp://www.microsoft.com/china/MSDN/library/enterprisedevelopment/builddistapp/Microsoft.NETPetShop3.x-DesignPatternsandArchitectureofthe....
阅读全文
摘要:在MFC的SDI和MDI中,你要想从你的CXXXApp(当然是继承于CWinApp了)得到CXXXView(当然继承于CView了)视图指针可不是一件很容易的事情哟,还是很迂回的。下面将介绍如何得到,OK,让我们开始吧。 如果我们要得到视图指针,首先我们要得到指向文档的指针,如何得到文档类的指针,首先我们又要得到文档模板的指针(即CDocTemplate),如何得到文档模板的指针,很简单,就...
阅读全文
摘要:上个礼拜刚把系统重装了,但是MSDN98没有删除,当我重新安装VS6之后,打开帮助,郁闷,MSDN启动不了,说什么“Unable to display Help”,查了N多资料,最后终于发现了原因。 因为MSDN没有重装,所以肯定VS6不能与之关联,那么是什么导致如此那,原来是“vshelp.dll”这个组件没有注册。 既然找到了原因,就知道如何做了。搜索一下其位置,然后打开“运行”,用Regsv...
阅读全文
摘要:今天,发现一个问题。就是Excel每个Sheet最多只能装65636条记录,晕。 事情是这个样子的,我从SQL Server导出数据,在SQL Server里有18万条记录, 但是导出到Excel中,只有65636条,最后,我在往里面加数据,遗憾的是 没能加进去,所以我就认定是65636。 随后,我
阅读全文
摘要:今天看了大半天的源代码。头晕,脑胀,痛苦呀。 有些时候就是不明白为什么要那样写,为什么搞那么多全局变量。 这里用一下,那里用一下,晕了。真是找不着北了。 今天就到此为止,努力,继续看!
阅读全文
摘要:最近一段时间,不停的阅读代码。有些代码易于阅读,有些代码写的晦涩难懂。 有些代码看起来相当舒服,但是有些代码非常龌龊。 相比之下,我得代码写的如何呢,恐怕不敢恭维。最近一段时间对之体会甚是深刻。 其实在一个软件中,我认为最好的文档就是代码,如果把代码写好了,将是一笔很大的 财富,无论对谁。 代码不要注重形式化,也不要为了实现某一功能而东一凑西一凑,最后面目全非,满目疮痍 ,这是一种悲哀...
阅读全文
摘要:对于需求,如果你不是太明白,在写代码之前,最好将之弄清出或者大致弄清出,不然的话你自己有的时候 都不知道你自己在写些什么。 以上和需求的可变性是两回事,他是明确了需求。所以在此需要强调的就是如何根据可变的需求作出很完美的设计。XP是一个选择。到现在,我认为自己以前的东西都是有些是“垃圾”。 希望以后自己好好的去实践,避免设计和写出龌龊的软件来。 原来软件是多么美好的事情。
阅读全文
摘要:1) 单一职责原则 (The Single Responsibility Principle,简称SRP) 2) 开放-封闭原则 (The Open-Close Principle,简称OCP) 3) Liskov 替换原则(The Liskov Substitution Principle,简称LSP) 4) 依赖倒置原则(The Dependency Inversion Pricin...
阅读全文
摘要:昨天下班回家,心里有些累,身体也有些累。 回到家,发现没人,于是去买菜,买菜回来,正洗菜, 电话想起,家人不回来吃饭,唉,一个人吃饭没劲, 于是乎跑到楼下买了一包康师傅的方便面,将刚才洗的菜 炒了,然后煎了一颗鸡蛋,接着把方便面煮了。然后把所有的 东东大杂烩,吃了一口,真是好香,很快就没了。 吃完之后就在想,吃方便面都能吃成这个样子,不简单,NB。 仔细一想,以及好几个月没吃了,其实...
阅读全文
摘要:人,在各个方面都是很重要的。在软件开发也不例外。 组织好的团队比好的环境重要的多。 应该先组织团队然后根据团队来组织环境, 而不是先组织环境再来组织团队。 但是,很多时候都不是这个样子的。 以上是我的理解。
阅读全文
摘要:最近,写了个程序,在Debug状态下,结果完全正确,但是在Release下却除了错,为了找到这个错误,花了N长时间,最后总算找到了,为什么,就是没有对变量赋初值。在程序里面有个变量是flaot型,在Debug状态下不用赋值初值是0,但是在Release状态下却不一定。就是这么简单。痛苦。 所以以后决定不管是在什么样的语言中,什么样的环境下,什么样的工具下,最好是给变量赋值。不然有的 时候查起错...
阅读全文
摘要:聚合(Aggregation): 这是一种松散的对象间的关系.举个例子:计算机和他的外围设备就是一例. 用来表示拥有关系或者整体与部分的关系。 组合(Composition): 这是一种非常强的对象间的关系,举个例子,树和它的树叶之间的关系. 在一个合成里,部分与整体的生命周期都是一样的。一个合成的新对象完全拥有对其组成 部分的支配权。包括他们的创建和毁灭。 最后总结一下: 聚合: ...
阅读全文
摘要:UP具有三个公理: 用例和风险驱动 架构中心的 迭代和增量的 用例是捕获需求的方法没因此我们可以准确地说,UP是需求驱动的。 风险是另外一个驱动,因此如果你不主动攻击风险,风险就会主动攻击你。UP通过风险分析预测软件构造。然而这是项目经理和架构师的工作。 开发软件系统的UP发送方法是开发和演进一个健壮的系统的系统架构。架构描述了策略:系统是如何被分成组件,这些组件是如何...
阅读全文
摘要:1)使用名词/动词分析和寻找类 名词/动词分析方法的第一步是尽可能多的收集相关信息.合适的信息来源是: 补充需求规格说明(如果有) 用例 项目词汇表 任何其他信息资源(架构,远景文档等) 2)在收集文档之后,使用非常简单的方法分析他,突出(或者用某种其他方法记录)以下内容: 名词--例如:航班 名词短语--例如,航班号 动词--例如,分配...
阅读全文
摘要:1)每个类大约有3-5个职责. 一般来说,类应该尽可能保持简单.这通常限制类能够支持的3-5个职责的数目. 2)不存在独立的类. 好的OO分析和设计的精华是,类相互协作使用户受益.同样,每个类应该同少量的类协作以提供所有的期望的功能.类可以把他们的一些职责托付给专注于特定功能的其他辅助类. 3)当心一些非常小的类. 有时候很难取得正确的平衡.如果模型看起来有大量的非常小的类,每个类都只有一...
阅读全文
摘要:我们大家都知道,对话框是有的时候捕获不到WM_CHAR消息的.比如,你想使对话框里的Edit控件所键入的全部变为大写.我们毫不犹豫的写到: #include //Declare the Dialog Procedure BOOL CALLBACK DialogProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain( HINST...
阅读全文
摘要:1)BOOL IsHungAppWindow( HWND hWnd//main winows handle ); //defined in User32.dll 2)BOOL IsHungThread(...
阅读全文
摘要:用MFC写一个简单的画图程序(恐怕这个应该是大家更加注意的) 在这里只贴出部分代码: 下面源代码,可以直接运行(VC6 MFC)(关于其整个工程文件可以到www.confach.533.net去Download),如果你找不到,可以直接按上面的联系方式与我Mail,我会尽快给你发过去,大家一起学习) void CSTLMFCTestView::OnLButtonDown(UINT nFlags...
阅读全文
摘要:很多网上介绍的都是关于STL在控制台的运用,我认为,这总适合与学习理论知识以及其实践,当真正用到项目中去的 恐怕这就不适合了。我也老套一下。分为两种情况。 1)控制台的运用 2)用MFC写一个简单的画图程序(恐怕这个应该是大家更加注意的) OK,先说控制台: 下面源代码,可以直接运行(VC6 Console)(关于其整个工程文件可以到www.confach.533.net去Downloa...
阅读全文
摘要:既然当了一个STLPort,我就在想如何使用该库,解压缩那个包,一打开,嘿,居然还有一个INSTALL文件,仔细研究一番,按照他的说明很不简单的就装好了。当然在网上有很多关于如何安装STLPort的方法,用的最多应该是梦魇的那个方法,即《STL源码剖析》一书的附录。这有一个网址供大家参考http://jjhou.csdn.net/myan-stlport.htm 当然移植STLPort的方法...
阅读全文
摘要:在上次作项目的过程中,我想到用MFC的容器类,所以信守拈来一个CObArray类,由于我这个项目是用在服务器端的,长年运行,所以运行没多长时间,我就发现有内存泄漏的问题,Shit,我于是乎检查自己写的那段代码,后来才发现用到了CObArray这个类,而没有释放,看MSDN,不得了,它对于内存释放等解决的不太好呀。所以我寻找另外的一个方式来重新替换一下这个我认为不太好使用的CObArray类。我的选...
阅读全文
摘要:This class--CRegKey--- is used for operate on register.if you want to get more,please goto www.confach.533.net then click visual vc++,thank you! 1).H File // RegKey.h: interface for the CRegKey cla...
阅读全文
摘要:********************************************************************/ /* */ /* Function name : OnCreateClient */ /* Description : Create some splitter windows. */ /* */ /*************************...
阅读全文
摘要:********************************************************************/ /* */ /* Function name : GetAppDir */ /* Description : Get application directory. */ /* */ /*********************************...
阅读全文
摘要:如何嵌入(Docking)一个工具条(How To Docking A Toolbar EnableDocking(CBRS_ALIGN_ANY); // Initialize dialog bar m_wndQuickConnect if (!m_wndQuickConnect.Create(this, IDD_QUICKCONNECT,//IDD_QUICKCONNECT is a to...
阅读全文
摘要:a).如何在工具栏中,加上图标和文字?(How To Add Icon And Text) /********************************************************************/ /* */ /* Function name : CreateHotToolBar */ /* Description : Create the main t...
阅读全文