单一职责原则

单一职责原则

  • 单一职责原则(Single Responsibility Principle,SRP)中的 职责(Responsibility)被表述为“变化的原因”(reason to change);SRP被表述为“一个类应该有且只有一个变化的原因”。
  • 动机:对于设计原则的理解应该首先从它的动机入手,即遵循这个原则带来的好处是什么?对于SRP来讲,如果遵循“一个类应该有且只有一个变化的原因”是因,那么“任何一个变化只会影响一个类”就是果。可见SRP的动机主要是系统的可维护性,即降低适应变化的成本。

代码示例

public interface IUserInfo {
            void getId();
            void getName();
            void addUser(int id,String name);
        }

这个接口将 业务对象 和 业务逻辑的内容放到了一个勒种,业务对象 和 业务逻辑 都会引起UserInfo 类的变化,违反了单一职责。
下面我们按照单一职责的要求拆分一下这个接口:

public interface IUserInfoA {
            void getId();
            void getName();
         }
        public interface IUserInfoB {
              void addUser(int id,String name);
         }

将 原接口 拆分为 A 和 B 两个接口,在需要相应的得操作时 去操作相应的接口就实现了我们所说的单一职责,也就是让引起他们变化原因只有一种,并且让相关性强的内容聚合在一个类内部。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...