抽象优化
1.最近在做一个抽象优化的工作任务。
2.接手了一个已经存在的项目,发现代码写的不够抽象。例如,定义接口的方式是,给每一组API都创建了一套接口。然后实现类和接口是一对一的关系。这样一来接口就没有抽象作用了,干脆只定义实现类就得了。
3.我要做的抽象优化第一步是将不同组API分层归类。例如,一共10组API。第一层定义一个总接口A,第二层定义两个子接口B和C。其中9个属于B,1个属于C。
4.除了整体的分层分类之外,在根据不同功能层面进行更细分的分层抽象。例如那9个之中在某个小功能层面还需要继续分类。
5.总之,抽象优化的本质就像是在种模型树,要将具像的琐碎事情结构化为一棵树,树根是看不见摸不着的抽象本质,越远离树根越具像。
6.抽象优化的难点就在于,你要创造出看不见的概念,并将他们定位成一个树状的概念系统。
7.抽象也正是计算机科学的一个重要方法论,因为计算机科学的最重要挑战就是控制复杂度。而树状结构正是收敛复杂度的方法论。