题目
你觉得设计模式有什么作用?
解释
类似问题如 “为什么要用设计模式”
答案
1. **代码复用与解耦**:设计模式通过**模块化设计**将变化的部分与稳定的部分隔离,例如: - **工厂模式**:将对象创建逻辑封装,调用方无需关心具体实现 - **策略模式**:通过接口抽象算法实现,动态替换业务逻辑,示例代码如下: ```java // 策略模式示例:支付方式切换 interface PaymentStrategy { void pay(int amount); } class CreditCardPayment implements PaymentStrategy { /*...*/ } class AlipayPayment implements PaymentStrategy { /*...*/ } class PaymentProcessor { private PaymentStrategy strategy; public void setStrategy(PaymentStrategy strategy) { this.strategy = strategy; } public void executePayment(int amount) { strategy.pay(amount); } } ``` 2. **提升可维护性**:遵循**开闭原则**(对扩展开放,对修改关闭),例如: - **装饰器模式**:动态扩展对象功能,无需修改原有代码 - **观察者模式**:事件驱动机制让系统各部分松耦合 3. **统一沟通语言**:设计模式提供了一套**标准术语**,比如文档里面写 “适配器模式” 团队其他小伙伴能够立即理解核心是 adptaer 适配不同接口 4. **规避常见陷阱**:模式背后是**最佳实践的总结**,例如: - **单例模式**:确保全局唯一访问点,避免资源浪费 - **代理模式**:控制对象访问,实现延迟加载或权限校验 5. **提升代码审美**:良好应用模式的代码具有**自解释性**