编程自学指南:java程序设计开发,设计思想开源框架-六大原则,高内聚、低耦合、可维护、可扩展

编程自学指南:java程序设计开发,设计思想开源框架-六大原则

设计思想开源框架 - 六大原则概述

编程自学指南:java程序设计开发,设计思想开源框架-六大原则

设计思想开源框架 - 六大原则概述

1. 单一职责原则(Single Responsibility Principle,SRP)

2. 开闭原则(Open Closed Principle,OCP)

3. 里氏替换原则(Liskov Substitution Principle,LSP)

4. 依赖倒置原则(Dependency Inversion Principle,DIP)

5. 接口隔离原则(Interface Segregation Principle,ISP)

6. 迪米特法则(Law of Demeter,LoD),也称为最少知识原则

1. 单一职责原则(Single Responsibility Principle,SRP)

  • 定义:一个类应该只有一个引起它变化的原因。也就是说,一个类只负责一项职责。
  • 案例
// 职责单一的用户信息管理类
class UserInfoManager {
    public void saveUserInfo(String username, String password) {
        // 保存用户信息到数据库的逻辑
        System.out.println("保存用户 " + username + " 的信息到数据库");
    }
}

// 职责单一的用户登录验证类
class UserLoginValidator {
    public boolean validateUser(String username, String password) {
        // 验证用户登录信息的逻辑
        System.out.println("验证用户 " + username + " 的登录信息");
        return true;
    }
}

public class SRPExample {
    public static void main(String[] args) {
        UserInfoManager userInfoManager = new UserInfoManager();
        userInfoManager.saveUserInfo("testUser", "testPassword");

        UserLoginValidator userLoginValidator = new UserLoginValidator();
        userLoginValidator.validateUser("testUser", "testPassword");
    }
}
  • 解析UserInfoManager 类只负责用户信息的保存,UserLoginValidator 类只负责用户登录信息的验证。如果保存用户信息的数据库操作发生变化,只需要修改 UserInfoManager 类;如果登录验证逻辑改变,只需要修改 UserLoginValidator 类。
  • 重点:将不同的职责分离到不同的类中,降低类的复杂度,提高类的可读性和可维护性。
2. 开闭原则(Open Closed Principle,OCP)

  • 定义:软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。即当有新需求时,通过扩展已有代码来实现,而不是修改已有的代码。
  • 案例
// 抽象图形类
abstract class Shape {
    abstract double area();
}

// 圆形类
class Circle extends Shape {
    private double radius;

    public Circle(double radius) {
        this.radius = radius;
    }

    @
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zl515035644

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值