单一职责原则

首先补充一个知识点:聚合和组合

聚合:用于描述实体类之间的关系,表示整体由部分构成。比如员工聚合到部门,部门没了不影响员工还在。

组合:同样描述实体类之间的关系,同样表示整体由部分构成。比如多个政府部门组成一个国家,国家没了那么这些政府部门也将不复存在。

单一职责原则(SRP Single Responsibility Principle)

他要求:

  • 类尽量做到仅有一个原因引起类的变更

    • 一个类的属性和行为应该分开,应该把属性划分为业务对象(BO Businiess Object)和逻辑对象(Biz Business Logic)

    • interface UserBO{
        public String getUserName();
        public void setUserName(String username);
        .....
      }
      interface UserBiz{
        public boolean deleteUser(UserBO userBO);
        public boolean addRole(UserBO userBO,String role);
        .....
      }
      class User implements UserBO,UserBiz{
        .....
      }
      
  • 接口一定要做到单一职责,对接口修改只影响实现类,不影响其它接口。

他是一个不容易实现的原则,其中最难实现的职责的划分。虽然降低了系统复杂性,提高了可读性、可维护性,但是实现单一职责原则需要额外精力投入但是在系统运行时的效果是一样,所以需要成本计算。

你可能感兴趣的:(单一职责原则)