架构师成长之路3:六大设计原则详解

第3篇|六大设计原则详解:代码不烂,全靠这六根柱子(附Java实战)

“你可以写出跑得通的代码,
但能写出经得住需求风吹雨打的代码吗?”
—— 一个架构师的叹息

程序员写代码容易,写可扩展、可维护、可重用的代码才是高段位。

今天我们聊聊支撑优雅代码的六大基石——六大设计原则(SOLID),它们是面向对象编程的“防腐剂”,是你从写代码到做架构的第一把斧头。


一、什么是设计原则?为什么必须掌握?

设计原则是系统设计时要遵循的指导思想。就像建筑有抗震标准,写代码也有“不会烂”的原则:

原则 简称 作用
单一职责原则 SRP 一个类只负责一件事
开闭原则 OCP 对扩展开放,对修改关闭
里氏替换原则 LSP 子类可以替换父类
接口隔离原则 ISP 不强迫实现不需要的接口
依赖倒置原则 DIP 依赖于抽象,而非具体实现
合成复用原则 CRP 优先使用组合而不是继承

接下来我们逐条讲解,并配上通俗易懂的 Java 代码示例!


二、SRP 单一职责原则

定义:一个类应该只有一个引起它变化的原因。

✅ 反例:厨子还要送外卖?

public class OrderService {
   
   
    public void createOrder() {
   
   
        // 创建订单
    }

    public void printOrder() {
   
   
        // 打印订单
    }

    public void sendEmail() {
   
   
        // 发邮件
    }
}

→ 改了打印,就影响下单逻辑,职责混乱


✅ 正解:分家各干各的

public class OrderService {
   
   
    public void createOrder() {
   
   
        // 专注下单
    }
}

public class Printer {
   
   
    public void print(String content) {
   
   
        // 专注打印
    }
}

public class MailService {
   
   
    public void sendEmail(String email) {
   
   
        // 专注发邮件
    }
}

好代码像一支精锐部队:各司其职,互不牵连。


三、OCP 开闭原则

定义:对扩展开放,对修改关闭。


✅ 反例:每次加个新付款方式都要改原代码

public class PaymentService {
   
   
    public void pay(String type) {
   
   
        if ("alipay".equals(type)) {
   
   
            System.out.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值