设计模式-单一职责原则

1.单一职责原则

  单一职责原则:改变仅因为一个因素

  《设计模式之禅》,作者提到有人写了个这样的接口

void changeUser(UserOB userOB,changeOptions option);

  不如分开写

void changeUserName(String userName);
void changeUserAddress(String address);
void changeUserTel(String Tel);

  虽然如作者提到的,下面的替代上面的,到底是不是应该替换呢?看的代码不够多,不知道……

  在我看的HGE的引擎代码中,作者是将两者结合,对外提供第一种接口,对内实现的过程中会将不同的分开写成第二种形式的函数,内部调用。

  那么是喜欢这种

changeUser(USER_NAME,"lily");
changeUser(USER_ADDRESS,"heave");
changeUser(USER_TEL,"138XXXXXX110");

  还是喜欢这种

changeUserName("Tom");
changeUserAddress("hell");
changeUserTel("189XXXXXX911");
  • 对于扩展功能而言,明显上面的不够好,因为要修改changeUser函数
  • 如果要修改相对应的change函数,则上面那种要修改changeUser和对应的change函数

 --151120

原文地址:https://www.cnblogs.com/yoru/p/4981586.html