摘要:
1.1概述 将对象组合成树形结构以表示“部分-整体”的层次结构。组合(Composite)使用户对单个对象和组合对象的使用具有一致性。这就是组合模式的定义。 如果一个对象包含另一个对象的引用,称这样的对象为组合对象。如果将当前组合对象作为一个整体的话,那么它所包含的对象就是该整体的一部分。如果一个对 阅读全文
摘要:
1.1概述 保证一个类仅有一个实例,并提供一个访问它的全局访问点。这就是单件模式的定义。 在某些情况下,我们可能需要某个类只能创建一个对象,即不让用户用该类实例化出多于两个的实例。 例如,在一个公文管理系统中,公文类的实例“公文文件”,需要将公章类的实例作为自己的一个成员,以表明自己是一个有效的公文 阅读全文
摘要:
1.1概述 用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。这就是原型模式的定义。 在某些情况下,可能不希望反复使用类的构造方法创建许多对象,而是希望使用该类创建一个对象后,以该对象为原型得到该对象的若干个复制品。也就是说,将一个对象定义为原型对象,要求改原型对象提供一个方法,使该原 阅读全文
摘要:
问题描述: 给定某空间中(直线空间或平面空间)n个点,请找出它们中的最近点对。你需要完成下列任务: 1、随机产生或手工输入n个点的坐标。 2、输出最近的两个点的坐标。 3、算法尽可能效率高。 解决方案: 针对问题,主要包括两个方面的问题,一是在直线空间求最近点对,二是在平面空间求最近点对。具体解决办 阅读全文
摘要:
1.1概述 将一个复杂对象的构建与它的表示分离,使同样的构建过程可以创建不同的表示。这就是生产器模式的定义。 如果一个类中有若干个成员变量是其他类声明的对象,那么该类创建的对象就可以包含若干个其他对象作为其成员。习惯上把一个对象中的成员对象称作它的组件,例如,几何(Geometry)类含有三角形(T 阅读全文
摘要:
1.1概述 提供一个创建一系列或相互依赖对象的接口,而无须指定他们具体的类。这就是抽象工厂模式的定义。 设计某些系统时可能需要为用户提供一系列相关的对象,但系统不希望用户直接使用new运算符实例化这些对象,而是应当由系统来控制这些对象的创建,否则用户不仅要清楚地知道使用哪些类来创建这些对象,而且还必 阅读全文