知识卡片

没有通用架构:三个例子体现的选型前提

普通读书笔记卡

内容

判断哪种架构合适之前,必须先承认一个前提:企业应用是多种多样的,不同的问题需要不同的处理方法,一旦有人说”总是这样做”就该警觉。书中用三个例子说明同为企业应用、架构诉求却截然不同:B2C网上零售商用户量大但业务逻辑简单(下单、算价、算运费),因此重点在资源利用效率和可伸缩性,用通用Web界面即可;租约合同处理系统用户量小(不超过100人)但业务逻辑复杂(计算月供、处理提前解约、验证签约数据),且单次签约事务可能耗时1-2小时用户全程处于逻辑事务中,因此需要更丰富的胖客户界面和更复杂的数据库设计(涉及200多张表);小型开支跟踪系统用户少、功能简单,但真正的挑战在于要快速开发交付,同时又要为未来可能的扩展(税务功能、集成到工资系统等)留有余地——过度设计灵活性反而会因复杂性增加而拖慢交付。三个例子的难点完全不同,因此不可能有适用于三者的通用架构,选择架构前必须先看清楚自己面对的到底是哪种问题;即便选定了某个模式,也往往需要根据实际问题再做修改——所有模式和工具都只是提供决策依据,真正的思考不能被替代。

参考来源

- 位置:《企业应用架构模式》"引言"之"0.3 企业应用的种类"(源文件:_epub-src/OEBPS/Text/000008.html) - 结论依据:原文用B2C网上零售商、租约合同自动处理系统、小型开支跟踪系统三个例子分别说明各自独特的难点,并总结"这三个企业应用的例子都有难点,而且难点各不相同。当然,也不可能有一个适合于三者的通用架构……即使你选择了某种模式,也需要进一步根据面临的问题来修改模式",直接支撑本卡结论。 - 原始内容:这三个企业应用的例子都有难点,而且难点各不相同。当然,也不可能有一个适合于三者的通用架构。选择架构时,必须很清楚地了解面临的问题,在理解的基础上再来选择合适的设计……即使你选择了某种模式,也需要进一步根据面临的问题来修改模式