Loading

面向对象7大设计原则

面向对象7大设计原则

单一职责

一个类,一个方法,只负责一件事。

里氏替换

在任何使用父类对象的地方,替换为子类对象以后,程序不会有问题出现。要根据业务场景进行替换,比如“长方形和正方形问题”。

依赖倒置

上层依赖于下层,它们都应该依赖于抽象。

举例:spring中的依赖倒置,先定义接口,把接口方法规则定义好;再写接口的实现并注入到容器中,注意该实现类永远不要有new的方式供外部调用;业务调用者通过调用接口,采用注解依赖注入实现;但该接口有多个实现时,显式指定具体使用哪个实现类。

迪米特法则

最少知道原则,一个类,对于另外一个类,应该知道的越少越好(封装)。

只和朋友进行通信:

  • 方法参数
  • 方法返回类型
  • 方法内,实例化出来的局部变量
  • 类中的字段

接口隔离

使用多个专门的接口比使用单一的总接口要好。

开闭原则

对拓展开放,对修改关闭。

组合优于继承

如果父类和子类作者不是同一个人,那么就慎用继承。

因为父类作者不知道未来的用户会重写自己的什么方法。子类作者不知道作者在未来的版本里,会改写吗方法,添加什么方法。

如果父类和子类作者是同一个人,那么就可以用继承

posted @ 2021-03-09 19:14  nuoxin  阅读(67)  评论(0)    收藏  举报