策略模式 DemonsZ 2019-11-20 390 阅读1分钟 某功能模块的功能可以支持文字、图片、语音和事件等约10中交互方式。但在开发该功能模块初期因为希望尽快开发功能而未考虑到SRP(单一职责原则)和OCP(开闭原则)且可扩展性也不好。旧方案:使用switch和枚举交互类型对用户行为进行判断后执行相应的逻辑。 新方案:使用策略模式重构该功能模块,符合SRP和OCP设计原则,功能模块解耦,提高可扩展性。