设计模式原则小结

用户头像
L001
关注
发布于: 2020 年 06 月 17 日

在软件的世界中,设计原则指导框架设计和开发,它们分别是:单一职责原则、开闭原则、里式替换原则、接口隔离原则和依赖反转原则,依次对应 SOLID 中的 S、O、L、I、D 这 5 个英文字母.。



单一职责原则

一个类或者模块只负责完成一个职责(或功能)。

这个原则描述的对象包含两个,一个是类(class),一个是模块(module)。把模块看作比类更加抽象的概念,类也可以看作模块。另一种理解是:把模块看作比类更加粗粒度的代码块,模块中包含多个类,多个类组成一个模块。

一个类只有一个职责,如果职责过多,代码就会臃肿,可读性更差,也更难维护。单一职责原则和接口隔离原则有一定的关系,接口隔离以后,职责就单一了,实现这个接口的类的职责自然也就单一了。但是接口隔离关注的是抽象层,单一职责关注的是两者兼而有之,偏重于实现。



开闭原则

添加一个新的功能应该是,在已有代码基础上扩展代码(新增模块、类、方法等),而非修改已有代码(修改模块、类、方法等)。

主要实现:主要用了JAVA语音多态的特性,定义一个抽象类,把子类相同的业务逻辑实现在相同的方法里,定义抽象方法让子类去实现。

代码模版:

//父类
public abstract class BaseHandler {
protected String rule;
public AlertHandler(String rule,) {
this.rule = rule;
}
//子类,调动参数封装成一个类
public abstract void check(String rule);
}
public class TpsAlertHandler extends BaseHandler {
public TpsAlertHandler(AlertRule rule, Notification notification) {
super(rule, notification);
}
@Override
public void check(ApiStatInfo apiStatInfo) {
//do some thing
}
}
public class ErrorAlertHandler extends AlertHandler {
public ErrorAlertHandler(AlertRule rule, Notification notification){
super(rule, notification);
}
@Override
public void check(ApiStatInfo apiStatInfo) {
//do some thing
}
}



用户头像

L001

关注

还未添加个人签名 2018.04.28 加入

还未添加个人简介

评论

发布
暂无评论
设计模式原则小结