抽象优化

1.最近在做一个抽象优化的工作任务。

2.接手了一个已经存在的项目,发现代码写的不够抽象。例如,定义接口的方式是,给每一组API都创建了一套接口。然后实现类和接口是一对一的关系。这样一来接口就没有抽象作用了,干脆只定义实现类就得了。

3.我要做的抽象优化第一步是将不同组API分层归类。例如,一共10组API。第一层定义一个总接口A,第二层定义两个子接口B和C。其中9个属于B,1个属于C。

4.除了整体的分层分类之外,在根据不同功能层面进行更细分的分层抽象。例如那9个之中在某个小功能层面还需要继续分类。

5.总之,抽象优化的本质就像是在种模型树,要将具像的琐碎事情结构化为一棵树,树根是看不见摸不着的抽象本质,越远离树根越具像。

6.抽象优化的难点就在于,你要创造出看不见的概念,并将他们定位成一个树状的概念系统。

7.抽象也正是计算机科学的一个重要方法论,因为计算机科学的最重要挑战就是控制复杂度。而树状结构正是收敛复杂度的方法论。

 
0
Kudos
 
0
Kudos

Now read this

Positioning SICP 2: Building Abstractions with Data

Positioning SICP 2: Building Abstractions with Data # 作者:何岩,recreating.org出品,谢绝转载 阅读SICP,站在Lisp发明者的上帝视角来思考:“我为什么要这么设计Lisp?” 0.前言:Why I design the concept of Data? 为什么要设计Data这个概念?Procedure不够用吗? # 因为,control complexity。 因为,人脑习惯Object View,... Continue →