大多数事物重复三次以上,并且在可预见的范围内它还会继续重复,那么就有必要将其抽象。
一般复杂的问题都可以通过抽象,将其简单化。
这里的重复次数,根据不同行业、所处的环境不同,也会有不同标准。
同样抽象也有不同的实现方式。
举个例子,公司招新人。每次新人来都会有几乎差不多繁琐的入职流程。那么这个流程肯定会重复很多次,可预见未来还会重复。如果每次都让老员工亲自上手教,长期下去,这显然是低效的。
这个时候就可以思考一种抽象的方式。比如,最简单的写一份入职流程指南,每次下发给新员工。这样就会高效很多。甚至有些大公司还会有一套专业的新人培训系统。这样看来,可能会一时麻烦,但时间越长,这种抽象带来的效率提升越明显。
回过头,在软件开发中,面向对象的开发模式就遵循这样的思想。
看来,不论在软件世界也好,在实际生活中也罢。有些东西,追根溯源也是思想的问题。