设计模式

abstract class Operation{
      protected $numA;
      protected $numB;
      public function __get($name){
         if(array_key_exists($name,get_class_vars(__CLASS__))){
             $this->$name;
         }
      }
      public function __set($name,$value){
         if(array_key_exists($name,get_class_vars(__CLASS__))){
            $this->$name=$value;
         }
      }
      abstract public function getResult();
  }

  class AddOperation extends Operation{
      public function getResult(){
          return $this->numA + $this->numB;
      }
  }

  class minusOperation extends Operation{
      public function getResult(){
          return $this->numA - $this->numB;
      }
  }

简单工厂模式:
        一个类可以生成多个不同的实例
       class{
            public function get($str){
                   switch($str){
                           case 'add':
                                   return new  AddOperation   ();
                                   break;
                          case 'minus':
                                  return new  minusOperation ();  
                    }
            }
       }
策略模式:
        多个算法实现相同的功能,用一个上下文来实现
        class Context{
    private $operation;
    public function __construct($operation){
         $this->operation = $operation;
    }
    public function getResult(){
         return $this->operation->getResult();
    }
  }
单一职责:
        每个类功能负责单一职责
开放-封闭原则:
        原则上每个类可扩展不修改
依赖倒转原则:
        每个功能依赖商定好的的接口,针对抽象编程,而不针对细节编程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值