摘要: 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活 装饰模式是利用setComponent来对对象进行包装的。这样每个装饰对象的实现就和如何使用这个对象分离开了 阅读全文
posted @ 2018-03-12 23:36 sonofthesea 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 3.单一职责原则 就一个类而言,应该仅有一个引起它变化的原因。 4.开放-封闭原则 软件实体应该可以扩展,但是不可修改,即对于扩展是开放的,而对于更改是封闭的。 5.依赖倒转原则 A.高层模块不应该依赖低层模块,两个都应该依赖抽象 B.抽象不应该依赖细节,细节应该依赖抽象 6.里氏代换原则: 子类必 阅读全文
posted @ 2018-03-12 23:19 sonofthesea 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户 策略模式是一种定义一系列算法的方法,所有这些算法完成的都是相同的工作,只是实现不同, 它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合 阅读全文
posted @ 2018-03-12 23:15 sonofthesea 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-03-12 23:01 sonofthesea 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 对于容易变化的地方,应该考虑用一个单独的类在做这个创造实例的过程,这就是工厂,操作类用抽象类(计算器) 阅读全文
posted @ 2018-03-12 23:00 sonofthesea 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 1.节点度数不超过2的树称作二叉树 深度为k的节点,之多2^k个 含n个节点,高度为h的二叉树中:h<n<2^(k+1) n=k+1时,化为一条单链 n=2^(k+1)-1时,为满二叉树 2.二叉树描述多叉树 凡是有根且有序的树,均可以用二叉树描述 首先将多叉树采用firstChild()和next 阅读全文
posted @ 2018-03-12 22:22 sonofthesea 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1.此前的向量,列表数据结构存在不够用的情况 2.向量的静态操作效率很高,动态操作效率很低,而列表则反之,即两者无法同时兼顾静态操作和动态操作的高效性 3.树融合了向量和列表的优点,为半线性结构 4.树的概念 指定任一节点r作为根后,T即称作有根树 任何一个节点r所拥有的孩子的数目,称作r的度数,d 阅读全文
posted @ 2018-03-12 17:14 sonofthesea 阅读(93) 评论(0) 推荐(0) 编辑