银行交易系统缩影:工厂方法+策略模式应用

4星 · 超过85%的资源 需积分: 14 67 下载量 74 浏览量 更新于2024-08-01 收藏 276KB PDF 举报
在《设计模式之禅》的第35章中,作者深入探讨了工厂方法模式与策略模式在构建一个迷你版交易系统中的应用。该系统是模拟国内一家大型集团的“一卡通”项目,旨在实现全国范围内的统一认证和支付功能,如门禁、邮件访问、内部消费等。系统架构分为三层:总部、省级分部和市级机构,确保跨地域的一致性。 核心挑战之一是扣款子模块,这是整个交易系统的基石,其失败将导致所有商业交易无法进行,因此在业务和技术层面上都极其关键。扣款异常处理、事务管理以及保证在高并发情况下系统的鲁棒性是架构师必须面对的难题。扣款子模块中的资金管理包括固定金额和自由金额: 1. 固定金额是预设且不可提取的部分,主要用于满足员工的日常必需消费,如食堂就餐、理发和健身等,确保这些服务的稳定供应。 2. 自由金额则是可提取的,由总部每月注入并鼓励员工在集团内部商店消费。这种设计体现了策略模式的灵活性,即通过不同的策略(固定金额和自由金额的使用规则)来适应不同场景下的支付需求。 工厂方法模式在这个场景中体现在创建不同类型的扣款子模块实例上,根据不同的策略(固定金额或自由金额)动态决定使用哪个具体的扣款逻辑。这样做的好处是保持了代码的可扩展性和模块化,使得系统能够容易地添加新的支付策略或调整现有的策略而无需修改核心扣款逻辑。 总结起来,这一章通过“一卡通”项目的扣款子模块,展示了工厂方法模式和策略模式在实际业务场景中的紧密协作,如何提升系统的灵活性、可维护性和性能。同时,也强调了在高并发环境下,架构设计对于交易系统稳健运行的重要性。