码迷,mamicode.com
首页 > Web开发 > 详细

设计模式:6大设计原则(PHP版本)

时间:2018-03-02 14:49:28      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:http   margin   fun   反馈   php   str   username   信息   ace   

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{
  }

 

设计模式:6大设计原则(PHP版本)

标签:http   margin   fun   反馈   php   str   username   信息   ace   

原文地址:https://www.cnblogs.com/onlycat/p/8492480.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!