单一职责原则:每一个对象仅有一个单独的职责,即仅有一个引起变化的原因。
接口隔离原则:一个接口仅提供一种对外的功能,不应该把所有的操作都封装到一个接口中。
乍一看,有点相似,但是存在以下关系:
单一职责注重业务逻辑的划分,面向一个业务存在多个需要实现的方法,例如学生类,包含了学生的个人信息(姓名、性别、身高、体重、血型、党团关系等),这些特性都面向学生这个对象,满足单一职责原则。但是假如学校组织党日活动,仅关注党团关系是党员的那些学生,此时学校对学生类的操作就不满足接口隔离原则。需要把学生类再进一步划分。
所以说单一职责原则是面向对象的第一个设计原则,接口隔离原则是在满足单一职责原则的基础上,为了“高内聚低耦合”所采取的进一步设计范式。
(个人理解,参考了书,欢迎交流)