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);
        }
    }
  • 相关阅读:
    实验17:NAT
    实验16:ACL
    实验15: STP
    实验14:VLAN间的路由
    实验13:VLAN/TRUNK/VTP/
    Linux软件管理--RPM工具
    Linux拓展练习部分--输入输出 / find部分 /基础拓展2
    linux文件管理--压缩打包
    find 文件查找
    防火墙知识点
  • 原文地址:https://www.cnblogs.com/taoshihan/p/13809606.html
Copyright © 2011-2022 走看看