现在位置: 首页 > 自动控制 > 工业·编程 > 文章
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:声明工厂方法,该方法返回一个...
阅读全文
2012-07-19 19:30 工业·编程 ⁄ 共 689字 暂无评论
1、意图 将一个复杂对象的构建与它的表示分离开,使得同样的构建过程可以创建不同的表示。 2、问题 创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式。 构造过程必须允许被构造的对象有不同的表示。 3、解决方案 将复杂对象的构造方法独立出来。 4、通用结构 5、参与者 builder:为创建一个Product的各个部件指定抽象接口。 ConcreteBuilder:实现Builder的各个接口以构造和装配该产品的的各个部件;...
阅读全文
2012-07-19 19:29 工业·编程 ⁄ 共 643字 暂无评论
1、意图 在创建对象比较昂贵,或者对于特定类型能够创建的对象数目有限制时,管理对象的重用。 2、问题 对象的创建和/或管理必须遵循一组定义明确的规则集。通常这些规则都与如何创建对象、能够创建多少个对象和在已有对象完成当前任务时如何重用它们等等相关。 3、通用结构 4、解决方案 在需要一个Reusable对象时,Client调用ReusablePool的AcquireReusable方法。如果池是空的,那么AcquireReusable方法创建一个Reusable对...
阅读全文