超越软件架构
创建和维持成功的解决方案
2003
在软件行业,架构已经成为一个非常模糊的词。很难对它的含义给出任何明确的定义。我认为它本质上是一个主观的术语——当人们描述他们的软件架构时,他们会选择系统的重要部分,这些部分如何组合在一起,以及他们在设计系统时做出的关键决策。架构也被视为一个技术问题,这意味着需要做出的关键决策是技术决策。
在过去几年与 Luke 的交谈中,我真的很享受他谈论那些经常被大多数架构讨论遗漏的东西——但这些东西同样重要。比如系统的营销视角、许可条款、品牌、部署、计费。所有这些问题都具有重要的技术和商业意义。高级技术人员需要考虑这些问题,否则一个技术上可行的系统可能无法成为一个好的商业决策。
许多这些问题对那些将软件销售给其他实体的人来说最为重要。但即使你是一个内部 IS 商店的架构师,这些问题也同样有可能让你陷入困境。与供应商的许可协议会对部署软件的成本产生重大影响,如果你的企业决定引入收费制,计费可能会变得重要,品牌有助于影响你在公司业务方面的可见度。
Luke 从一个既处理软件开发的技术方面又处理商业方面的人的角度写作。我发现这种二元性很有吸引力,因为它促使他思考那些经常不被谈论的问题。他表明,那些你没有想到要担心的问题往往会给你带来最大的伤害,并在过程中提供你处理这些问题的建议。因此,这本书是对软件设计技术方面的必要补充。