程序设计如何召唤出新的方法
时间:2012-6-24
现在我们假设你的栖息地模拟器收到另一个新的功能需要;你的客户要求提供各种植物和动物的数量模型,例如,他们要求能够对生活在一个定域名中的所有生物建驵,将所有生活在丛林杏眼特定区域内的考虑和树木组织在一起,哦,对了,此外,还要求你编写一些用于跟踪所有生活的生物学类别代码,这样客户就能够知道这个考虑是属于p.tigris种类,即普通的Panthera系的一种,而Panthera属于Felidac纲..依次类推直到animalia.
从表面上看,这是两个完全独立的编程问题:一方面以地域分布来组织生物;而另一方面通过生物分类来组织它们。这两个问题看上去又十分相似,它们都具有组合模式的特征,不过看上去你需要从坐下来认真想想,然后写一些和于处理数量分布问题,再写一些代码用来处理特种分类的问题,真是这亲吗,嗯,或许不必,或许我们可以将这两个问题中的共同部分提取出来,然后通过单个软件工具的实现来一次性解决这两个问题。
有时要解决这类任务的最好方法是,设想我们最终所要的结果,然后从这个结果推导出一个实现,在理想的情况下, 我们想让frog或各tiger类本身就是地域分布的一部分或生物各类的一部分。