如果一切东西都可以看做一个算法步骤的话,现在的计算机模型,其实就提供了这样一个算法实现的平台。
而计算机系统也确实不辜负大家对他的希望,计算机用算法步骤的方式,已经实现了多种多样的文化。操作系统,编译原理、数据库、多媒体和网络技术,形成了多姿多彩的世界。
在这个过程中,我们发现计算机只是提供了基本的算法可以执行的装置,而一切具体业务和处理,都需要程序员具体的编码才能玩得转,现在说的很玄乎的依赖注入概念,其实在很早的阶段就存在了。难道算法步骤,起初没有确定下来的指令,不靠依赖程序员手中的键盘就可以产生么?
以算法为抽象,我们实现一个东西基本上都要从基本的语句开始,依赖程序员一句一句进行注入。在个人工作过程中,用Web编程实现产品和了解J2EE概念的时候,我发现在对于算法的抽象,在Web编程中做的更进一步了,例如MVC框架和J2EE的依赖注入反转,个人觉得,它是在算法抽象的身体上,不管这个算法是单机还是分布式,是同步的还是异步的逻辑,砍断了几截,它将算法步骤分为几个大块去实现了。这样我们注入算法步骤的动作,就由原来的一句一句,从概念上变为一块一块注入,也对算法步骤注入提供了指导意义。这样来说,设计模式其实就是一个更小一级范围的算法步骤抽象,但是要比框架更小。。。
从上面分析看来,算法步骤是最基本的指导编程的概念,而如果我们能够将一个过程抽象成比算法步骤更高层的、也相对合理、稳定的概念,例如MVC框架,在算法步骤上面砍上几刀,我们就可以对所做的编程工作更有指导意义。一个普通的算法步骤用了一次或一段时间后就不可能被再度拾起来,但是在算法步骤的高级抽象往往更有价值,象海滩上的贝壳,以它的坚硬,相对长久地没有被大海吞噬