在企业应用中,那些无法理解的事情通常不是因为其本身有多么复杂,而是结构上的混乱造成的。混乱往往来自历史遗留问题,来自决策中的妥协,来自隐喻的忽视,来自种种人为的因素。在大连软件开发实践中,程序结构的混乱太常见了。程序结构对于项目的成败有致命的影响。如果你正在抱怨无休止的加班、正在抱怨令人沮丧的延期交付,那么在绝大多数的情况下都是因为这个原因。最后,我想说,框架的确是一种约束。但是无论这种约束有多么严格,总是可以找到很多错误的做法来让约束失效。
大连软件开发设计www.soft8.com.cn活动具有两个最主要的特点,抽象和隐喻。抽象,是简化信息、归纳特征、泛化概念的过程。隐喻,则是抽象的基本方式。在大连软件开发实践中,隐喻被广泛地使用。但是,绝大多数的使用是本能的、不自觉的、混乱的。在我看来,隐喻应该被作为一门学科或一项技能,它值得引起软件设计人员高度的关注。 根据维基百科的解释,隐喻是用于比较两个看上去无关的事物,而人为制造的一种修辞转义。通俗地说,就是用一个事物描述另一个事物。很明显,隐喻的本质就是想象。用一个事物描述另一个事物,这种转换发生在人的主观世界里。
设计模式是一种经典的隐喻。GoF在Design Patterns:Elements of Reusable Object-Ori-ented Software一书中整理了23个设计模式,几乎每一个设计模式都是建立在隐喻之上的。 例如,Observer(观察者模式),有多个观察者在关注一个目标,当目标发生变化时,观察者会得到通知,然后展开行动。就这么简单! 在模式实现的过程中,可以围绕着这个观察者的隐喻来深化故事细节。