抽象优化

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

第四章.挥舞函数(4.Wielding functions)[完成]

翻译 Secrets of the JavaScript Ninja (JavaScript忍者禁术) 第四章.挥舞函数(4.Wielding functions) 本章重点: # 1.为什么匿名函数如此重要 # 2.函数中的递归 # 3.函数可以被引用后再调用 # 4.如何为函数缓存索引 # 5.利用函数的能力来实现记忆 # 6.利用函数上下文 # 7.处理参数长度 # 8.判断一个对象是否为函数 # 在上一章我们了解到函数作为自然类型的对象(first-order... Continue →