上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 41 下一页
摘要: 1.1概述 将对象组合成树形结构以表示“部分-整体”的层次结构。组合(Composite)使用户对单个对象和组合对象的使用具有一致性。这就是组合模式的定义。 如果一个对象包含另一个对象的引用,称这样的对象为组合对象。如果将当前组合对象作为一个整体的话,那么它所包含的对象就是该整体的一部分。如果一个对 阅读全文
posted @ 2016-11-05 21:18 舞动的心 阅读(972) 评论(0) 推荐(0) 编辑
摘要: 1.1概述 保证一个类仅有一个实例,并提供一个访问它的全局访问点。这就是单件模式的定义。 在某些情况下,我们可能需要某个类只能创建一个对象,即不让用户用该类实例化出多于两个的实例。 例如,在一个公文管理系统中,公文类的实例“公文文件”,需要将公章类的实例作为自己的一个成员,以表明自己是一个有效的公文 阅读全文
posted @ 2016-11-05 12:39 舞动的心 阅读(1198) 评论(0) 推荐(0) 编辑
摘要: 1.1概述 用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。这就是原型模式的定义。 在某些情况下,可能不希望反复使用类的构造方法创建许多对象,而是希望使用该类创建一个对象后,以该对象为原型得到该对象的若干个复制品。也就是说,将一个对象定义为原型对象,要求改原型对象提供一个方法,使该原 阅读全文
posted @ 2016-11-04 21:47 舞动的心 阅读(574) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 给定某空间中(直线空间或平面空间)n个点,请找出它们中的最近点对。你需要完成下列任务: 1、随机产生或手工输入n个点的坐标。 2、输出最近的两个点的坐标。 3、算法尽可能效率高。 解决方案: 针对问题,主要包括两个方面的问题,一是在直线空间求最近点对,二是在平面空间求最近点对。具体解决办 阅读全文
posted @ 2016-11-03 21:56 舞动的心 阅读(6942) 评论(0) 推荐(4) 编辑
摘要: 1.1概述 将一个复杂对象的构建与它的表示分离,使同样的构建过程可以创建不同的表示。这就是生产器模式的定义。 如果一个类中有若干个成员变量是其他类声明的对象,那么该类创建的对象就可以包含若干个其他对象作为其成员。习惯上把一个对象中的成员对象称作它的组件,例如,几何(Geometry)类含有三角形(T 阅读全文
posted @ 2016-11-02 22:56 舞动的心 阅读(3354) 评论(0) 推荐(0) 编辑
摘要: 1.1概述 提供一个创建一系列或相互依赖对象的接口,而无须指定他们具体的类。这就是抽象工厂模式的定义。 设计某些系统时可能需要为用户提供一系列相关的对象,但系统不希望用户直接使用new运算符实例化这些对象,而是应当由系统来控制这些对象的创建,否则用户不仅要清楚地知道使用哪些类来创建这些对象,而且还必 阅读全文
posted @ 2016-11-01 22:18 舞动的心 阅读(1028) 评论(0) 推荐(0) 编辑
摘要: 1.1概述 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。这就是工厂方法模式的定义。 得到一个类的子类的实例最常用的办法就是使用new运算符和该子类的构造方法,但是在某些情况下,用户可能不应该或无法使用这种办法来得到一个子类的实例,其 阅读全文
posted @ 2016-10-31 22:32 舞动的心 阅读(878) 评论(0) 推荐(0) 编辑
摘要: 本篇文章解决的问题来源于算法设计与分析课程的课堂作业,主要是运用多种方法来计算斐波那契数。具体问题及解法如下: 一、问题1: 问题描述:利用迭代算法寻找不超过编程环境能够支持的最大整数的斐波那契数是第几个斐波那契数。(Java: 231-1 for int, 263-1 for long) 解决方案 阅读全文
posted @ 2016-10-30 22:47 舞动的心 阅读(6096) 评论(1) 推荐(4) 编辑
摘要: 1.1概述 用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。这就是中介者模式的定义。 一个对象含有另一个对象的引用是面向对象中经常使用的方式,也是面向对象所提倡的,即少用继承多用组合。但是怎样合理地组合对象对系统今后的扩展 阅读全文
posted @ 2016-10-25 15:15 舞动的心 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 1.1概述 提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露对象的内部表示。这就是迭代器模式的定义。 合理组织数据的结构以及相关操作是程序设计的一个重要方面,比如在程序设计中经常会使用诸如链表、散列表等数据结构。链表和散列表等数据结构都是可以存放若干个对象的集合,其区别是按照不同的方式进 阅读全文
posted @ 2016-10-24 20:52 舞动的心 阅读(1012) 评论(0) 推荐(0) 编辑
上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 41 下一页