2008/12/04

抽象之我见
任何工作,任何系统,都有一定的空间,也就是一定大小的平台(当然,平台的概念是对于应用来说的),比如我们一个很简单的音频播放器,其实他也是一个平台, 只是对于应用来说,这个平台能做的事情比较少,可变性也比较少,比如你在这个工具可以设置一些东西,那他的功能可能就会有一定的可变性,但范围很小。当吧 设范围扩大到可以做任何事情,把设置的方式从菜单选择改成脚本语言,那他就成了一个程序设计的过程。
MVC大部分项目的抽象,只要这个项目具有显示,逻辑,数据之间的交互,那么MVC基本就可以实用。
万事皆抽象。
找到共同点,实现软件复用,MVC就是这样。
抽象其实也有一个限度,从起点就是空,终点其实也是空,为什么这么说呢?可以想象,抽象大并且好到极点,就是什么都不做,但万事皆有其内涵,在这个平台里面,你什么都可以做;抽象到最差,是什么都不能做,也是空。
抽象到什么程度,看你的需求有多大,越高级的抽象成本也越高,配置也越复杂;越低级的抽象,成本低,但机动性差,但配置简单。对于方便与否的角度,那就在设计了,和现实需求的配合度,就像一个萝卜一个坑,如果把大水缸或者小芝麻放到坑里,肯定是不合适。
当然,抽象还有一个问题,就是适合性的问题,比如功能的重复,缺损之类。这个属于设计的问题
抽象的过程是四两拨千斤的过程,将已有的未有的资源做一下平衡,将他们的位置做一下平衡。
但平台上可能会产生裂缝,或许这个裂缝只是一个小孔,或许这个裂缝会使在之上的掉入无底深渊。

0 评论 :