设计原则之单一职责原则

来源:互联网 发布:淘宝买家秀模板 编辑:程序博客网 时间:2024/04/30 01:31

前言:暑假匆匆过了一边Java的设计模式,现在来系统总结一下。毕竟写Java程序不懂设计模式根本就是瞎扯,并且懂了设计模式学一些框架也更加快嘛,要知道里面可是设计模式满天飞。今天就来聊聊最简单的单一职责原则吧

1、单一职责原则是什么

这个根据字面意思就可以知道,就是一个类尽量不要有很多方法,尽量降低类的复杂程度。

2、单一职责的应用

其实我们经常说的MVC就是单一职责最好的应用。如果我们不采用单一职责原则,我们在进行用户注册登录的时候只有一个User类,里面的代码会大致如下

public class User{    private String username;    private String password;    // 连接数据库    public Connection getConnection(){        ...    }    // 注册是具体实现    public Boolean Registe(){        ...    }    // 登录的具体实现    public Boolean Login(){        ...    }    // 查询是否存在某个用户    public Boolean findById(){        ...    }    //关闭数据库    public void close(){        ...    }    public String getUsername() {        return this.username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return this.password;    }    public void setPassword(String password) {        this.password= password;    }}

当我们需要添加其他功能的时候,会导致这个User类非常的大,我们后面的维护和可读性都会很困难。如果我们通过MVC的方式来实现,大概会是下面这样


连接数据库的类

public class DatabaseConnection{    //连接数据库    public Connection getConnection() {        ...    }    //关闭数据库    public void close() {        ...    }}



用户的类

public class User{    private String username;    private String password;    public String getUsername() {        return this.username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return this.password;    }    public void setPassword(String password) {        this.password= password;    }}



操作数据库的类

public class DAOUser{    public Boolean Login() {        ...    }    public Boolean Registe() {        ...    }    public Boolean findById() {        ...    }}

3、单一职责的优势

1、降低类的复杂性
2、提高类的可读性
3、提高代码的可维护性和复用性
4、降低应变更引起的风险

4、总结

单一职责设计原则看起来很简单,但其实用起来是很难的,很多时候我们不太清除具体某个方法应该放在哪个类中,因此还是需要我们在项目中去成长,在实践中去总结。
(完) 2017/11/17 23:56

原创粉丝点击