MageTower
信息平台架构
–
剑指妖魔
前两天读了一下《设计模式精解》,惊奇地发现里面提到“神仙对象”或“上帝对象”的说法。不过仔细看过,才发现,实在不是什么好词儿。那是指初学面向对象编程的人,在一个
Class
中包含了太多的彼此无关的过程或功能,也就是使得模块的聚合度很低。极端情况下,一个
Class
搞定所有事情。书中说到:也许只有上帝才能理解这个对象是干什么的。
看来我并不会因此而感到太多的失望,因为在我想象的那个未来的语言中,上帝并非要事必躬亲,他只是掌控分配法力的过程,而具体施法还要看其化身的自己的决定。正如上天赋予了你自由人权,但你可能会因为各种顾虑而不敢或不去行使。
这个语言要想避免成为笑柄,必须注重赋权机制和用权机制。为什么?因为妖魔无处不在。机制出错,天使也会变成魔鬼。
说来令人难以置信,其实
IT
技术的本质很简单:读信息、写信息、改信息、存信息、传信息、以及显示信息。就这么点儿事,几十年前都已经实现,为什么现在会弄出这么多五花八门的技术?搞得大家无所适从。根本原因在于
IT
是一种妖魔缠身的技术。创造这些五花八门的技术,目的只有一个:摆脱妖魔,摆脱不了,就战胜它。然而,道高一尺,魔高一丈,妖魔仍在黑暗中冷冷窃笑。
妖魔何来?来自易变的需求。
IT
界吊足了客户的胃口,不断变化的需求层出不穷。更有甚者,本没有需求,我们创造需求。需求意味着改变,当我们拥抱这些变化时,妖魔悄然而至。那就是意想不到的副作用。许多情况下,实现新需求所带来的价值,远远小于副作用所带来的损失。
如何降妖?办法之多,可谓八仙过海各显神通。简单的办法就是搞定客户,吃饭、送礼、捏脚、给
@#$%&~~
。也就是把对技术的需求转变为其他方面的需求,我们的技术妖魔就被压制在萌芽中,但其他方面的妖魔会否出现,我们就不去管它。但我的文章是研究技术降妖的,上面的诸多办法就不在本文的讨论范围。
技术降妖的早期理论是软件工程,但近来软件工程光华黯淡,因为他对付妖魔确实力有不逮。后起之秀为设计模式,这可谓是软件界的孙子兵法。孙子兵法十三篇,设计模式则有二三十之多,其一招一式,经典耐看。只要你运用得当,则招招制敌。但毕竟他偏重战术,于是各种框架应运而生。其中将包括我的所谓“架构”。