单一职责原则(SRP)
对于一个类应该尽量只专注于做一件事,而且引起它改变的因素只应该有一个。
当初次看到这个原则的时候会很纳闷,不知所以。好像编写的类没有哪个是不单一的,都能实现的,而且同一个类可以实现的,为什么要分成两三类呢?
单一职责原则是基于业务,通过业务功能划分,将不同业务职责区分开来,专注于某类业务或者是单单实现某种辅助效能。例如定义一个订单处理类,就不应将订单的保存,
取消、修改等操作和传输订单,接受订单写到同一个类中去。因为订单的增删查改操作和订单的传输接收实为不同类型的业务功能。
单一职责原则不仅可以说在定义类上,定义类中的属性、方法等也同样适用,方法实现的单一,也就是一种功能的划分。何为方法的单一,就是重构时经常会去实现的,将一
个代码逻辑长的方法拆分成几个方法实现。
单一职责原则不仅仅是降低耦合,而且它也使得代码变得整洁明了。当然在取舍实现的时候,更多的是靠经验和对业务逻辑的理解。