learning_notes

学习笔记

View project on GitHub

设计模式

通用思想: 高内聚,低耦合

具体设计原则

  • 单一职责: 把自己的事情管好
  • 开闭原则: 开放拓展就是不影响原有的单元功能,反之关闭修改
  • 依赖反转: 类之间不依赖具体的细节,依赖抽象接口
interface Writer{
    public writer($key,$value=null);
}
class FileWriter implement Writer{
    public function write($key,$value=null){}
}

class RedisWriter implement Writer{
    public function write($key,$value=null){}
}
class Cache{
    protected Writer $writer;
    // 依赖注入
    public function __contruct(Writer $writer){
        $this->wirter=$writer
    }
    // 依赖抽象,不依赖具体的实现,比如不依赖`FileWriter`的`write`
    public function set($key,$value=null){
        $this->file_writer->write($key,$value);
    }
}