现在位置: 首页 > 自动控制 > 工业·编程 > 文章
    在Windows实现文件监控有三种方法,第一种是“虚拟文件系统驱动”方法,如windows 下的filemon,网上有很多关于他的分析。第二种方法是“HOOK API”方法,钩子技术。第三种方法是“消息机制”,从windows的文件通知消息获取系统的文件操作。但是这是文件操作完成以后,才通知的。所以只能进行监视监视,不能进行完全的控制。而消息机制当中,也有三种方法,(1)通过使用“未公开API SHChangeNotifyRegister 实现”...
阅读全文
2012-07-21 23:01 工业·编程 ⁄ 共 946字 暂无评论
    总是搞不清楚指针、引用、数组、数组指针、指针数组等等一堆东西之间的关系和用法,学习C++ Primer之后,稍作总结,希望对需要的人有帮助,以下的文字基本上都是来自C++ Primer3的书中 1、数组参数:     int* 、int[] 、 int[ 10 ]作为函数的参数是等价的,在被调函数内对参数数组的改变将被应用到数组实参上而不是本地拷贝上。     数组长度不是参数类型的一部分函数...
阅读全文
2012-07-20 22:54 工业·编程 ⁄ 共 1439字 暂无评论
    先要理解class的意思。class应该理解为一种类型,象int,char一样,是用户自定义的类型。(虽然比int char这样build-in类型复杂的多,但首先要理解它们一样是类型)。用这个类型可以来声明一个变量,比如int x, myclass my等等。这样就像变量x具有int类型一样,变量my具有myclass类型。     理解了这个,就好解释this了,my里的this 就是指向my的指针。如果还有一个变量myclass mz,mz的this就...
阅读全文
1、意图 将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录日志;以及支持可撤销的操作。 2、动机 有时必须向某对象提交请求,但并不知道关于被请求的操作(或请求的接受者)的任何信息。 提交一个请求的对象仅需要知道如何提交它,而不需知道该请求将会被如何执行。 3、适用性 COMMAND模式是回调机制的一个面向对象的替代品。 在不同的时刻指定、排列和执行请求。如果一个请求的接收者...
阅读全文
1、意图 使多个对象都有机会处理请求,从而避免请求的发送者和接收者间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 2、动机 给多个对象“处理一个请求”的机会,从而解耦发送者和接收者。该请求沿对象链传递,直啊到有一个对象处理它。从第一个对象开始,链中收到请求的对象要么亲自处理它,要么转发给下一个候选者。请求发送者并不明确地知道哪一个对象将会处理它。 3、适用性 ...
阅读全文
1、意图 为其他对象提供一种代理以控制对这个对象的访问 2、动机 为了只有在确实需要这个对象时才对它进行创建和初始化。提高程序响应速度。 3、适用性 远程代理(Remote Proxy) 为一个对象在不同的地址空间提供局部代表。 虚代理(Virtual Proxy)为开销很大的对象创建代理,使之可以按需创建。 保护代理(Protection Proxy) 控制对原始对象的访问。用于对象应该有不同的访问权限的时候。 智能指引(Smart Referen...
阅读全文
1、意图 运用共享技术有效地支持大量细粒度的对象 2、动机 Flyweight模式描述了如何共享对象,使得可以细粒度地使用它们而无需高昂的代价。 3、适用性 Flyweight模式的有效性很大程度上取决于如何使用它以及在何处使用它。 一个应用程序使用了大量的对象; 完全由于使用了大量的对象,造成很大的存储开销; 对象的大多数状态都可变为外部状态; 如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组的对...
阅读全文
1、意图 将对象组合成树形结构以表示“部分 - 整体”的层次结构,Composite使得用户对单个对象和组合对象的使用具有一致性。 2、动机 在图形应用程序中,用户可以使用简单的图元组件组合成较大的组件,这些组件又可以组合成更加复杂的组件。Composite描述了如何使用递归组合,使得用户不必对这些类进行区别。它的关键是一个抽象类,既可以代表简单的图元,又可以代表图元的组合。 3、适用性 想表示对象的“部分 - 整体”的层次...
阅读全文
2012-07-19 19:31 工业·编程 ⁄ 共 903字 暂无评论
1、意图 用原型实例指定创建对象的种类,并且通过“拷贝这些原型”创建新的对象。 2、问题 当一个系统应该独立于它的产品创建、构成和表示时; 当要实例化的类是在运行时指定时(如动态装载); 为了避免创建一个与产品类层次平行的工厂类层次时; 当一个类的实例只能有几个不同状态组合中的一种时。 3、解决方案 创建产品时,根据原型参数,克隆一个新产品。 4、通用结构 5、参与者 Prototype:声明一个克隆自身的接...
阅读全文
1、意图 定义一个创建对象的接口,让子类决定实例化哪一个类。Factory Method模式使一个类的实例化延迟到子类。 2、问题 一个类需要实例化另一个类的派生类。但不知道是哪一个。Factory Method允许派生类进行决策。 3、解决方案 派生类对实例化哪个类和如何实例化做出决策。 4、通用结构 5、参与者 Product:定义将被工厂方法创建的对象的接口 ConcreteProduct:实现Product接口 Creator:声明工厂方法,该方法返回一个...
阅读全文