06 2012 档案
摘要:如果在类里增加一个带多个参数的operator new函数,则标准的operator new(size_t size)将会屏蔽解决方法如下:1. 如果写了一个多带参数的operator new函数,则也写一个和标准new同样参数的new函数class X{private: //...public: ...
阅读全文
摘要:1. 第二点是直接从度娘那里Copy过来的,看了几遍,云里雾里,我只能说这个机制描述的真的很高深。2. C#和Java是支持反射的,JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象...
阅读全文
摘要:【定义】Abstract Factory,提供一个创建一系列相关或相互依赖对象的接口,而无需制定它们具体的类【场景】有一家生产螺丝螺帽的工厂,螺丝有两种型号:公的和母的,螺帽也有两种型号:公的和母的。没个车间只生产一种螺丝和螺帽。这里车间就是一个ConcreteFactory(具体工厂),螺丝和螺帽...
阅读全文
摘要:1. 首先我被一个问题所困恼:条款7中的operator new是这么写的,但条款8中的new却多了一个while。回头再仔细看下条款7,原来条款7中的operator new只处理了第一次分配内存失败的异常。//条款7中的operator newtemplate void* NewHandler...
阅读全文
摘要:1. operator new在无法完成内存分配请求时会抛出异常(在以前或者某些特定情况(声明nothrow)下new会返回0)2. 使用C语言的宏定义处理会是这样#define NEW(PTR, TYPE) \ try {(PTR) = new TYPE; } \ catch ...
阅读全文
摘要:【定义-Intent】Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automati...
阅读全文
摘要:【定义】建造者模式(Builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。【场景】一个简单的XML解析器,XML解析可以分两部分,第一部分:开始标签,结束标签,属性等,这部分对于所有的XML文件处理都是一样的,因为每个XML都由开始标签,结束标签等构成;第二部分...
阅读全文
摘要:【定义】为子系统中的一组接口提供一个一致的界面,要求一个子系统的外部与其内部的通信必须通过一个统一的Facade对象进行。Facade模式提供一个高层次的接口,使得子系统更易于使用。【场景】开发部门的一个程序员需要找测试部的测试工程师解决问题,这个时候不需要直接去测试部去一个个的找测试工程师询问我该...
阅读全文
摘要:【定义】定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。【场景】模版方法模式是通过把不变行为搬移到超类,去除子类中的重复代码来体现她的优势。当不变的和可变的行为在方法的子类实现中混合在一起的时候,不变的行为在子类中重复出现...
阅读全文

浙公网安备 33010602011771号