Skip to content

常见问题

单例会破坏封装吗?

过度使用全局单例会让测试难以替换依赖。可改为 Spring 注入工厂/接口,由容器管理生命周期。

策略和 if-else 哪个好?

分支少且稳定,if-else 清晰;分支多且常扩展,策略 + Map 或枚举策略更符合开闭原则。

代理和装饰在 Spring 里怎么分?

对使用者而言常合在一起:AOP 既可能做日志(像装饰)也可能做权限(像代理)。GoF 上区分意图即可。

什么时候不要用模式?

过度设计、团队不熟悉、需求极简时,YAGNI(你不会需要它)优先,先简单实现再重构。

Mermaid 图在构建后不显示?

确认已执行 npm installconfig.mts 使用 vitepress-plugin-mermaidwithMermaid 包裹配置;检查浏览器控制台是否有脚本错误。