04 2014 档案

摘要:一切计算机问题,解决方法可以归结为两类:分治和封装。分治是减层,封装是加层。动态规划问题同样可以用这种思路,分治。它可以划分为多个子问题解决,那这样是不是用简单的递归就完成了?也许是的,但是这样会涉及太多的不便的操作。因为子问题有重叠!针对这种子问题有重叠的情况的解决,就是提高效率的关键。所以动态规... 阅读全文
posted @ 2014-04-30 22:35 kcrosswind 阅读(674) 评论(0) 推荐(0) 编辑
摘要:定义:一系列的算法,把每一个算法封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。适用:当存在以下情况时使用Strategy模式1)• 许多相关的类仅仅是行为有异。 “策略”提供了一种用多个行为中的一个行为来配置一个类的方法。即一个系统需要动态地在几种算法中选择一种。2)•... 阅读全文
posted @ 2014-04-22 21:47 kcrosswind 阅读(141) 评论(0) 推荐(0) 编辑
摘要:定义:模板方法模式(Template method(类行为型)):在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些... 阅读全文
posted @ 2014-04-02 20:44 kcrosswind 阅读(250) 评论(0) 推荐(0) 编辑