您的位置:首页 > 其它

设计模式原则(1):单一职责原则

2013-04-09 17:53 260 查看
单一职责原则:一个类,只有一个引起它变化的原因。

为什么需要单一职责原则?
如果一个类有多个原因要去修改它,那么修改一个功能时,可能会让其他功能产生Bug,所以一个类最好只有一个职责。但实际应用中还是比较难实现的,我们只能是尽量符合这个原则。

例子:
public class Task {
public File downloadFile(String path){
//下载文件
return null;
}
public String parseFile(File file){
//解析文件
return null;
}
}


比如,修改下载文件方式和修改解析文件方法就是两种引起类产生变化的原因。这就明显违背了单一职责的原则。所以我们需要把方法提炼到两个不同的类中。

总结:
1. 实际情况是,很多时候我们无法提前预见“引起变化的原因”,所以我们只能凭经验构造我们的接口,尽量做到一个接口只有一个职责。这里说的是接口,类可能会有继承和实现多个接口,更加难以实现单一职责。
2. 当以前写的类已经有多个引起变化的原因时,我们最好做代码重构。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: