zoukankan      html  css  js  c++  java
  • [PHP] 工厂方法设计模式-创建型设计模式

    简化就是工厂生成产品,工厂和产品都是接口,分别都有对应的具体实现类

    工厂方法和抽象工厂的样子非常的像,只有一点小区别,工厂方法处理一个产品族,抽象工厂处理多个产品族,一个处理的产品少一个处理的多。

    有一个工厂接口LoggerFactory , 日志器工厂

    有两个工厂的实现类,标准输出日志器工厂  和 文件日志器工厂来生产Logger

    interface LoggerFactory
    {
        public function createLogger(): Logger;
    }
    
    class StdoutLoggerFactory implements LoggerFactory
    {
        public function createLogger(): Logger{
        }
    }
    class FileLoggerFactory implements LoggerFactory
    {
        public function createLogger(): Logger
        {
        }
    }

    这个Logger是一个接口 , 有具体的实现类FileLogger和StdoutLogger

    interface Logger
    {
        public function log(string $message);
    }
    class StdoutLogger implements Logger
    {
        public function log(string $message)
        {
            echo $message;
        }
    }
    class FileLogger implements Logger
    {
        private string $filePath;
    
        public function __construct(string $filePath)
        {
            $this->filePath = $filePath;
        }
    
        public function log(string $message)
        {
            file_put_contents($this->filePath, $message . PHP_EOL, FILE_APPEND);
        }
    }
  • 相关阅读:
    软件性能测试知识汇总
    软件功能测试知识汇总
    机器学习——KNN算法(k近邻算法)
    Shell脚本语法
    机器学习环境搭建及基础
    shell基础及变量
    查准率和召回率理解
    python中的矩阵、多维数组
    链表:反转链表
    栈和队列:生成窗口最大值数组
  • 原文地址:https://www.cnblogs.com/taoshihan/p/13809606.html
Copyright © 2011-2022 走看看