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);
        }
    }
  • 相关阅读:
    python装饰器
    python名称空间和作用域
    python函数-函数对象
    python函数-参数
    python文件高级操作
    python基本文件操作
    python2和3的区别
    OSI-传输层
    Android屏幕density, dip等相关概念总结
    架构设计:系统间通信(20)——MQ:消息协议(下)
  • 原文地址:https://www.cnblogs.com/taoshihan/p/13809606.html
Copyright © 2011-2022 走看看