
面向对象的设计与开发
文章平均质量分 72
仰望星空WU
这个作者很懒,什么都没留下…
展开
-
类的函数指针数组应用实例
类成员函数指针与类数据成员指针类似。在开发中与及apache源码中都有关于函数指针数组的精妙应用。本文主要是类的成员中如何使用函数指针数组来减少大量重复的工作,提高代码可读性及效率。//声明包含public成员函数的类class X{public: int value; int total; int count; void SetValue(int v){value = v;}原创 2006-11-01 12:50:00 · 2639 阅读 · 0 评论 -
Rose建模历程(3 双向工程与小结)
双向工程1).正向工程: 根据模型框图生成指定语言的代码步骤:需要在组件图(component view)中创建一个组件(component),设置好需要进行转换的组件的信息,open Sepcification...-->Realizes -->assign(选择要生成代码的类),最后Generate Code确定后就生成代码了. 2).逆向工程产生模型:根据选择开发应用程序的原创 2007-11-27 18:03:00 · 3649 阅读 · 0 评论 -
追MM与Java的23种设计模式
创建型模式 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如转载 2007-01-14 17:06:00 · 1151 阅读 · 0 评论 -
跨平台开发连载(6_跨平台IO的影响因素)
如果你正在写从文件或网络读写数据的跨平台C/C++代码,那么你必须明白有些问题是因语言,编译器,平台而不同的。 主要的问题是数据对齐,填充,类型大小,字节顺序和默认状态char是否有符号。对齐特定机器上,特定的数据被对齐于特定的边界。如果数据没有正确对齐,结果可能是效率降低甚至崩溃。 当你从I/O源读取数据的时候,确保对齐是正确的。详细内容参考本人另一篇blog: 字节对齐的影响因原创 2006-11-29 18:36:00 · 1739 阅读 · 0 评论 -
Rose建模历程(2 逻辑视图)
二 逻辑视图逻辑视图用来描述用例视图中提出的系统功能的实现,该视图以图形方式说明关键的用例实现、子系统、包和类,它们包含了在构架方面具有重要意义的行为。逻辑视图在每次迭代过程中都会加以改进,主要是作为概要设计,详细设计阶段的主要利器。1 类图 Class Diagram 类图显示了一组说明性(静态)的模型元素,例如:类、包以及它们的内容和关系。 边界类用于对一个或多个主角与系统原创 2006-11-19 20:35:00 · 11100 阅读 · 1 评论 -
Rose建模历程(1 用例视图)
一 用例视图需求工作流程中使用了名为用例视图的构架视图,用例视图是其它视图的核心,它的内容直接驱动其它视图的开发。它主要是作为需求分析阶段的一个主要利器,是外部用户所能观察到的功能。 1 用例图UseCase Diagram角色(Role): 参与者, 用例 参与者之间的关系: 泛化(超类)参与者与用例的关系:关联association,实例化用例之间的关系:关联a原创 2006-11-19 20:25:00 · 4295 阅读 · 0 评论 -
跨平台开发连载(5_编译开关)
在开发时,我们通过编译器的预定义宏实现跨平台编程,通常使用#ifndef, #ifdef, #define, #endif, #if defined (宏)实现跨平台下的编译,下面是各平台下各种C编译器常用的编译开关: Machine Producer Operating system C-Compiler recogniz原创 2006-11-17 12:42:00 · 2289 阅读 · 0 评论 -
C/C++关键字static,const,inline,define,typedef
一 static1) 产生背景引出原因:函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现?最容易想到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅仅原创 2006-11-12 16:13:00 · 1914 阅读 · 0 评论 -
跨平台开发连载(3_同步互斥锁)
/*********************************************************** lock.h * Copyright (C) |2006-11-9| by denny **********************************************************/#ifndef LOCK_H#define LOCK原创 2006-11-09 19:07:00 · 2127 阅读 · 0 评论 -
跨平台开发连载(2_线程基类)
1) window os/* * BadClass.cpp * * Sample code for "Multitasking Applications in Win32" * This is from Chapter 9, Listing 9-2 * * Shows the wrong way to try and start a thread * based o原创 2006-11-09 19:04:00 · 1630 阅读 · 0 评论 -
跨平台开发连载(1_C99标准下预定义宏)
C标准中指定了一些预定义的宏,对于编程经常会用到。下面这个表中就是一些常常用到的预定义宏。 __DATE__ 进行预处理的日期(“Mmm dd yyyy”形式的字符串文字)__FILE__ 代表当前源代码文件名的字符串文字__LINE__ 代表当前源代码中的行号的整数常量__TIME__ 源文件编译时间,格式微“hh:mm:s原创 2006-11-09 19:00:00 · 2381 阅读 · 3 评论 -
vc7.0常见调试问题
1)disable#pragma warning (disable: 4311 4312) //指针类型强制转化,大小不完全匹配warning C4311: type cast : pointer truncation from TriNode *const to long warning C4312: type cast : conversion from un原创 2008-04-13 21:18:00 · 4461 阅读 · 0 评论