程序员都知道编程有 3 大类:面向过程、面向对象、面向函数。面向对象是被讨论的最多的,个人认为,这是因为 Java 之类的编程语言有强大的用户基础,本质还是因为比较符合人的直觉。
说到面向对象,大家可能就会很快想到了 23 种设计模式,可只有少部分人会想到面向对象的 6 大原则,所以本文我分享一下我对于 6 大原则的看法。
6 大原则是内功心法,23 种设计模式是武术套路,它们的本质是为了更好地面对需求的变化。
很多人对于设计模式背诵的滚瓜烂熟,但是却没有办法评价自己的代码质量,尤其是根据自己的想法整了一大堆设计模式之后,很难分辨自己是规范编程还是过度设计。
其实,设计模式是立足于 6 大设计原则上的。
6 大设计原则对应 6 个规则,取首字母缩写就是 SOLID 。
1. 单一职责原则 (Single Responsibility Principle)
描述:一个类只有一个引起修改的原因。
理解:我们都知道要软件开发要解耦合,减耦合的理想状态就是一个类只负责一个功能。
软件开发要做好拥抱变化的准备。
比如,1 个月前,你做了一个类,负责用户模块。
后来需求变动,登录增加了微信账号登录,你得改你的用户模块。
后来需求变动,注册增加了手机动态码验证,你的修改你的用户模块。
后来需求变动,登录增加了github 登录,你的修改你的用户模块。
后来需求变动,登录增加了weibo 登录验证,你得修改你的用户模块。
<