分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

PHP设计模式_工厂模式

发布时间:2023-09-06 02:33责任编辑:傅花花关键词:PHP

个人理解工厂类相当于平时用的基类,只需要把类new一次然后付给一个变量,以后直接引入基类调用变量使用类里的方法即可

了解

工厂模式,工厂方法或者类生成对象,而不是在代码中直接new。 
使用工厂模式,可以避免当改变某个类的名字或者方法之后,在调用这个类的所有的代码中都修改它的名字或者参数,只需要在工厂类里修改需要new的类名即可。如果我们不使用工厂方式实例化这些类,则需要每一个类都需要new一遍,过程不可控,类多了,到处都是new的身影引进工厂模式,通过工厂统一创建对象实例。

代码

简单案例①

<?php//需要new的类class Test1{ ?????static function test(){ ???????echo __FILE__; ???}}
<?php//工厂类class Factory{ ???/* ????* 如果某个类在很多的文件中都new ClassName(),那么万一这个类的名字 ????* 发生变更或者参数发生变化,如果不使用工厂模式,就需要修改每一个PHP ????* 代码,使用了工厂模式之后,只需要修改工厂类或者方法就可以了。 ????*/ ???static function createDatabase(){ ???????$test = new Test1(); ???????return $test; ???}}
<?php//调用的代码程序spl_autoload_register(‘autoload1‘);$test = Factory::createDatabase();$test->test();function autoload1($class){ ???$dir ?= __DIR__; ???$requireFile = $dir."\\".$class.".php"; ???require $requireFile;}
<?php ?//工厂模式 提供获取某个对象实例的一个接口,同时使调用代码避免确定实例化基类的步骤 ?//字符串类 ?class String { ?????public function write() {} ?} ?//Json类 ?class Json { ?????public function getJsonData() {} ?} ?//xml类 ?class Xml { ?????public function buildXml() {} ?} ?//工厂类 ?class Factory { ?????public static function create($class) { ?????????return new $class; ?????} ?} ?Factory::create("Json"); //获取Json对象

PHP设计模式_工厂模式

原文地址:https://www.cnblogs.com/yszr/p/10427123.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved