现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2012-07-17 21:24 工业·编程 ⁄ 共 3781字 暂无评论
    借用《设计模式精解-GoF 23种设计模式解析》的原文来表述一下:面向对象系统的分析和设计实际上追求的就是两点,一是高内聚(Cohesion),而是低耦合(Coupling)。这也是我们软件设计所准求的,因此无论是OO中的封装、继承、多态,还是我们的设计模式的原则和实例都是在为了这两个目标努力着、贡献着。设计模式体现的是一种思想,而思想则是指导行为的一切,理解和掌握了设计模式,并不是说记住了23种(或...
阅读全文
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虚拟机中,只有实现了这个接口的类才可以被拷贝,否则在运行时会...
阅读全文
定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 类型:创建类模式 类图: 四个要素 产品类:一般是一个较为复杂的对象,也就是说创建对象的过程比较复杂,一般会有比较多的代码量。在本类图中,产品类是一个具体的类,而非抽象类。实际编程中,产品类可以是由一个抽象类与它的不同实现组成,也可以是由多个抽象类与他们的实现组成。 抽象建造者:引入抽象建造者的目的,是为了将建造的...
阅读全文
定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。 类型:创建类模式 类图: 抽象工厂模式与工厂方法模式的区别 抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。在编程中,通常一个产品结构,表现为一个接口或者抽象类,也就是说,工厂方法模...
阅读全文