1.单一职责
单一职责原则的英文名称是Single Responsibility Principle,简称是SRP,单一职责原则的定义是:应该有且仅有一个原因引起类的变更。
样例1:将用户管理拆分为两个接口,IUserBO负责用户的属性,简单地说,IUserBO的职责就是收集和反馈用户的属性信息;IUserBiz负责用户的行为,完成用户信息的维护和变更
<?php /** *Business Object(业务对象),负责用户收集和反馈用户的属性信息 */ interface IUserBo{ function setUserId(/* String */ $userId); function getUserId(); function setPassword(/* String */ $password); function setUserName(/* String */ $userName); function getUserName(); } /** *Business Logic(业务逻辑),负责用户的行为,完成用户信息的维护和变更 */ interface IUserBiz{ function changePassword(/* String */ $userId, /* String */ $password); function deleteUser(/* IUserBo */ $userBo); function mapUser(/* IUserBo */ $userBo); function addOrg(/* IUserBo */ $userBo, /* String */$orgId); function addRole(/* IUserBo */ $userBo, /* String */$roleId); } /** *Business Logic (业务逻辑),负责处理用户的行为 */ interface IUserInfo extends IUserBo, IUserBiz{ } class UserInfo implements IUserInfo(){ }
样例2:
/** *Business Object(业务对象),负责用户收集和反馈用户的属性信息 */ interface IUserBo{ function setUserId(/* String */ $userId); function getUserId(); function setPassword(/* String */ $password); function setUserName(/* String */ $userName); function getUserName(); } /** *Business Logic(业务逻辑),负责用户的行为,完成用户信息的维护和变更 */ interface IUserBiz extends IUserBo{ function changePassword(/* String */ $userId, /* String */ $password); function deleteUser(/* IUserBo */ $userBo); function mapUser(/* IUserBo */ $userBo); function addOrg(/* IUserBo */ $userBo, /* String */$orgId); function addRole(/* IUserBo */ $userBo, /* String */$roleId); } class UserBo implements IUserBo { } class IUserBiz implements IUserBiz{ }