现在位置: 首页 > 所有2012年发表的文章
2012-07-17 21:24 工业·编程 ⁄ 共 3781字 暂无评论
    借用《设计模式精解-GoF 23种设计模式解析》的原文来表述一下:面向对象系统的分析和设计实际上追求的就是两点,一是高内聚(Cohesion),而是低耦合(Coupling)。这也是我们软件设计所准求的,因此无论是OO中的封装、继承、多态,还是我们的设计模式的原则和实例都是在为了这两个目标努力着、贡献着。设计模式体现的是一种思想,而思想则是指导行为的一切,理解和掌握了设计模式,并不是说记住了23种(或...
阅读全文
    记得之前说到了海外一些杂志,现在拼命唱空中国经济和中国特有的发展模式。本来想翻译出来,一篇是财富杂志,后来被华尔街日报转载的。另一篇是外交政策上面的。后来简单翻译给了同学们,然后一聊之下,发现这些文章都是传统唱空中国的观点大集结,内部没啥逻辑,看法及其肤浅,就不想浪费自己和大家的精力了。不过今天发现,外交政策的文章,被市场观察(Marketwatch)添油加醋,又到处传播,所以就在这里...
阅读全文
2012-07-17 06:59 工业·编程 ⁄ 共 2693字 暂无评论
今天在看一个代码里头写了GetWindowLong (hwnd, 0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第2个参数为0是指什么,MD,很恼火,最近终于在一个 国外网站找到,我在这篇文章贴了,网站是http://www.codeguru.com/forum/archive/index.php/t-243778.html 先收集所有关于此函数的使用方法以及程序代码希望后来的人看到我的这篇文章能感动哈: 函数功能描述:用这个函数能够获得指定窗口的信息 函数原型: LONG ...
阅读全文
2012-07-17 06:58 工业·编程 ⁄ 共 510字 暂无评论
afx_msg void OnOutPutStatusButtonUp (WPARAM wParam, LPARAM lParam); BEGIN_MESSAGE_MAP(CIOStatue, CDialog) //{{AFX_MSG_MAP(CIOStatue) //}}AFX_MSG_MAP ON_COMMAND_RANGE(IDC_STATIC_OUT1,IDC_STATIC_OUT16,OnOutPutStatusButtonUp) END_MESSAGE_MAP() //注意IDC_STATIC_OUT1,IDC_STATIC_OUT16之间是连续的 void CIOStatue::OnOutPutStatusButtonUp(WPARAM wParam, LPARAM lParam) ...
阅读全文
2012-07-17 06:57 工业·编程 ⁄ 共 10257字 暂无评论
线程同步是多线程程序设计的核心内容,它的目的是正确处理多线程并发时的各种问题,例如线程的等待、多个线程访问同一数据时的互斥,防死锁等。Win32提供多种内核对象和手段用于线程同步,如互斥量、信号量、事件、临界区等。所不同的是,互斥量、信号量、事件都是Windows的内核对象,当程序对这些对象进行控制时会自动转换到核心态,而临界区本身不是内核对象,它是工作在用户态的。我们知道从用户态转换到核心态是需要以时间...
阅读全文
    很多人使用线程的时候,都喜欢在线程内画图。如果在线程内画图,程序就很容易出错,而且还是那种没有任何响应和提示的错误问题.例如,一个复制文件的程序,这个程序由两个线程组成,一个是复制文件的线程,一个是显示文件复制进度的线程。理论上这个程序没有什么问题。但是,这个程序有一个很大的隐患,就是主程序也可能某一时刻要更新这个进度条,例如,进度窗口被其他窗口挡住后或窗体,这个窗体就要刷新...
阅读全文
2012-07-17 06:55 工业·编程 ⁄ 共 11525字 评论 1 条
由于CListCtrl良好的数据展示形式和便捷的操作,所以我们在编程工作中会经常用到,网上找到一片不错的总结,估计对于一般的使用场景够用的。还有其他需求,我们可以再探索讨论。 以下未经说明,listctrl默认view 风格为report 1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资...
阅读全文
    虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次: class A { public: virtual void foo() { cout << "A::foo() is called" << endl;} }; class B: public A { public: virtual void foo() { cout << "B::foo() is called" << endl;} }; ...
阅读全文
    两个穷人没饭吃,快要饿死了。一位善良的老人给了他们每人一件礼物:一根鱼竿和一篓鱼。他们拿到各自的礼物之后,就分道扬镳了。得到鱼的人迫不及待地吃起鱼来,没几天,鱼就被吃光了。不久,还是饿死了;得到鱼竿的人忍饥挨饿,艰难地向海边走去,还没见到大海,也饿死了。     又有两个穷人,也得到了老人同样的馈赠。他们没有立即分手,而是相伴而行,共同寻找大海。途 中,他们每天分享...
阅读全文
2012-07-17 06:07 工业·编程 ⁄ 共 2184字 暂无评论
定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 类型:创建类模式 类图: 原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件: 实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。在java虚拟机中,只有实现了这个接口的类才可以被拷贝,否则在运行时会...
阅读全文