是什么
抽象,是指在概念上明确划清界限。这种明确划清界限的方式可以将一个模块与其他模块区分开来。
抽象由“舍象”和“一般化”两个观点组合而成。
舍象指的是舍去复杂对象的几个性质,只关注其特定的性质。
一般化指的是从具体对象中抽出共有的性质,将其固定为更加通用的概念。
为什么
抽象是人们在处理复杂事物时使用的基本手段。
舍象可以除去对象的枝叶,让它的本质暴露出来。复杂度下降之后,我们便能集中精力去对付真正的问题。抽象化的概念简明扼要,便于使用,应用范围极广。
一般化通过抽取共同特征将多个对象聚成一组,将它们视为相同的事物,如此一来,从一个事物中学到的东西就可以应用到其他事物中,也就是所谓的闻一知十。
怎么做
我们要对事物进行抽象化处理。
抽象化是程序员实现优秀设计的基本技术。
在处理复杂事物时要进行舍象。舍弃多余的东西,抓住本质。需要注意的是,事物的本质固然重要,但在处理问题时,我们更应该关注当前问题的本质。
在处理多个不同事物时要采用一般化的手段。抽取对象共同的性质,将这些共同点组合成通用的概念。一般化是一种用于在多个事物之间总结原则的技术,是一种模式识别。我们可以从身边的事物中找出模式,为其命名,将其作为原则应用到其他场合中。