layout: post
title: 设计模式(一),创建模式(如何创建,谁创建,什么时候创建)
category: 算法
comments: true
description: 设计模式(一),创建模式(如何创建,谁创建,什么时候创建)
keywords: 设计模式,工厂模式,单例模式,建造者模式
—
1、工厂模式
通过工厂类,创建不同的对象。工厂模式适合:凡是出现了大量的产品需要创建,并且具有共同的接口时,可以通过工厂方法模式进行创建。
以日志操作类为例
abstract class BaseApp{
protected $input;
protected $response;
protected $route;
public function start(){
return $this->handlerRequest();
}
public function setInput($input){
$this->input = $input;
}
public function setResponse($response){
$this->response = $response;
}
public function setRoute($route){
$this->route = $route;
}
abstract public function handlerRequest();
}
class CliApp extends BaseApp{
protected $args;
public function handlerRequest(){
//write to file
}
}
class WebApp extends BaseApp{
protected $urlparams;
protected $requestMethod;
protected $remoteIp;
public function handlerRequest(){
//write to db
}
}