概念

一个类应该只负责一个职责,当一个类同时负责多个职责的时候,某个职责发生变动可能会影响整个类或者其他类的使用。

实际开发中,应该是尽量一个类只负责一个职责。同样一个方法,函数也应该只负责某项功能。

特点:

降低类(代码)的复杂度;

降低变更引起的风险;

减少影响范围,系统更稳定。

demo:

比如订单类应该只处理跟订单相关逻辑,而不要处理和用户相关的逻辑。

比如在laravel model开发中,user 的model应该只有跟用户相关的处理,不同的对象应该创建不同的model;

比如控制器,同对象的控制器可以用一个控制器,而不要所有的逻辑都到一个控制器去处理;