面向对象设计的七大设计原则与十六种常用设计模式含简单工厂严格意义上属编程习惯而非GoF23模式是软件架构与高质量代码设计的核心知识图谱。以下为简明精要的归纳与关键要点说明✅七大设计原则SOLID CRP LODSRP一个类只负责一个职责 → 提升可维护性与可测试性OCP通过抽象接口/抽象类预留扩展点新增功能不改旧代码LSP子类必须能完全替代父类行为契约一致否则继承关系失效DIP模块依赖于抽象接口/抽象类而非具体实现高层模块不应依赖低层模块细节ISP避免“胖接口”按客户端需求拆分为多个专用小接口CRP优先用组合has-a而非继承is-a降低耦合、提升灵活性LOD一个对象应仅与“直接朋友”交互参数、成员、创建对象减少跨层调用。✅核心设计模式分类速记类型模式核心意图典型特征创建型单例、工厂方法、抽象工厂、建造者、原型控制对象创建过程解耦new封装实例化逻辑结构型适配器、桥接、装饰器、代理、外观组织类/对象关系关注“如何组合”以获得新能力行为型观察者、策略、模板方法、命令、状态等分配职责与通信机制关注“对象间如何协作”特别提示“简单工厂”虽非GoF模式但作为入门桥梁极具教学价值“单例”的线程安全懒汉式双重检查锁 vs 饿汉式静态初始化、序列化/反射破坏问题需警惕“装饰器”与“代理”易混淆装饰器增强功能如日志、缓存代理控制访问如权限、远程、延迟“观察者”是事件驱动架构基石现代框架如Spring Event、RxJava、Vue响应式均深度应用其思想。# 示例符合OCP DIP SRP 的策略模式轻量实现fromabcimportABC,abstractmethodfromtypingimportProtocolclassPaymentStrategy(Protocol):defpay(self,amount:float)-str:...classAlipayStrategy:defpay(self,amount:float)-str:returnf支付宝支付{amount}元classWechatPayStrategy:defpay(self,amount:float)-str:returnf微信支付{amount}元classOrderProcessor:def__init__(self,strategy:PaymentStrategy):self._strategystrategy# 依赖抽象符合DIPdefexecute_payment(self,amount:float)-str:returnself._strategy.pay(amount)# 单一职责只处理支付流程# 新增PayPal只需新增类无需修改OrderProcessor → 符合OCP SRP