当前位置: 首页 > news >正文

vr功能网站建设自助建站自媒体

vr功能网站建设,自助建站自媒体,茂名网站建设公司哪个好,拓客软件破解版设计模式 抽象工厂模式单例模式要实现一个单例#xff0c;需要关注的点有下面几个: 抽象工厂模式 PHP工厂模式是一种可扩展、可维护和可重复使用的方法#xff0c;旨在提供通用接口#xff0c;用于创建对象。工厂模式的主要组成部分包括抽象工厂、具体工厂、抽象产品和具体产… 设计模式 抽象工厂模式单例模式要实现一个单例需要关注的点有下面几个: 抽象工厂模式 PHP工厂模式是一种可扩展、可维护和可重复使用的方法旨在提供通用接口用于创建对象。工厂模式的主要组成部分包括抽象工厂、具体工厂、抽象产品和具体产品。通过使用工厂模式可以提高代码复用率和可扩展性并且可以减少代码耦合度和客户端代码的负担。然而工厂模式并非适用于所有情况在使用工厂模式时需要注意局限性和代码复杂性。 示例 抽象工厂 ?php namespace App\Design\v1\Msg;/*** Description 生成消息类的工厂* Author guo* Date 2023/10/8 9:38**/ interface MsgFactory {public function createMsg(): MsgInterFace; }抽象对象 ?php namespace App\Design\v1\Msg;/*** Description 定义消息需实现的接口* Author guo* Date 2023/10/8 9:37**///定义一个消息发送接口 interface MsgInterFace {public function send($data); }具体工厂 ?php namespace App\Design\v1\Msg;/*** Description 实现mqtt推送消息的工厂* Author guo* Date 2023/10/8 10:55**/ class MqttFactory implements MsgFactory {public function createMsg(): MsgInterFace{return new MqttMsg();} }?php namespace App\Design\v1\Msg;/*** Description 实现email推送消息的工厂* Author guo* Date 2023/10/8 10:55**/ class EmailFactory implements MsgFactory {public function createMsg(): MsgInterFace{return new EmailMsg();} }具体对象 ?php namespace App\Design\v1\Msg;use App\Models\Base\v1\Msg\Msg;/*** Description* Author guo* Date 2023/10/8 10:58**/ class MqttMsg implements MsgInterFace {public function send($data){//具体实现$msg new Msg();$msg-sendMsg($data);} }?php namespace App\Design\v1\Msg;use App\Models\Base\v1\Msg\Msg;/*** Description* Author guo* Date 2023/10/8 10:58**/ class EmailMsg implements MsgInterFace {public function send($data){//具体实现} }单例模式 单例设计模式(Singleton Design Pattern)的意思是一个类只允许创建一个对象(或者实例)那这个类就是一个单例类这种设计模式就叫作单例模式。 要实现一个单例需要关注的点有下面几个: 构造函数需要是 private 访问权限的这样才能避免外部通过 new 创建实例;考虑对象创建时的线程安全问题;考虑是否支持延迟加载;考虑 getInstance() 性能是否高(是否加锁)。 单例模式又分为饿汉式单例模式和懒汉式单例模式 饿汉式单例模式在类加载的时候instance 静态实例就已经创建并初始化好了所以instance 实例的创建过程是线程安全的。不过这样的实现方式不支持延迟加载实例。采用饿汉式实现方式将耗时的初始化操作提前到程序启动的时候完成这样就能避免在程序运行的时候再去初始化导致的性能问题。懒汉式单例模式相对于饿汉式的优势是支持延迟加载。这种实现方式会导致频繁加锁、释放锁以及并发度低等问题频繁的调用会产生性能瓶颈。 实例 class ObjectA {private static $instance null;public static function getInstance() {if (self::$instance null) {self::$instance new self();}return self::$instance;}//私有化构造函数private function __construct() {}//禁止克隆private function __clone() {} }$objA1 ObjectA::getInstance(); $objA2 ObjectA::getInstance(); var_dump($objA1 $objA2); //bool(true)$objA3 clone $objA1; //此处报错:Fatal error: Uncaught Error: Call to private ObjectC::__clone() from context var_dump($objA1 $objA3); //程序不会执行到这里
http://www.tj-hxxt.cn/news/225618.html

相关文章:

  • 分销网站有哪些wordpress图片验证码插件
  • 最新做做网站linux搭建个人网站
  • 网站推广文章怎么写合肥市城乡和建设网站
  • 做外贸网站注意事项北京网站开发周期
  • 绵阳市 网站建设用dw做的网站能用吗
  • python 做网站很快吗水资源监控能力建设 网站
  • 网站建设费用分类ppt模板大全软件下载
  • 国外校园网站网站建设发展历程制作一个静态网站的步骤
  • 山东定制型网站建设推广如何做网站的外部链接
  • 为什么做的网站要续费html做网站经验技巧
  • 摄影网站模板下载欧米茄官方手表
  • 商务网站推广技巧包括什么今天山东一例发生在哪里
  • 东莞市建设网站培训一网一平台是什么
  • 牙科医院网站建设天津建设网站安全员考试查询
  • 衡水网站seowordpress 拖拽排序插件
  • 珠江现代建设 杂志社网站小程序短链接生成网址
  • 专业服务好的网站设计制作成都家装公司
  • 免费站长统计工具宝山手机网站制作公司
  • 适合个人站长的网站有哪些互联网推广项目
  • 班级网站建设开题报告成都市住房和城乡建设厅官网
  • 南昌做网站哪个公司好北京有限公司有哪些
  • 网站代备建站快车源码
  • 网站评论怎么做的常州妇幼做的无创 在哪个网站查
  • 网站图片尺寸织梦网站程序安装
  • 如何在手机上做网站wordpress 小说 主题
  • 北京市建设监理协会网站谷歌商店下载官方正版
  • 安徽省建设厅网站工程师查询软件开发外包是什么意思
  • 浙江省建设注册管理中心网站首页淄博网站排名优化公司
  • 大理石在哪些网站做宣传阿里云网站域名查询
  • 下载ppt模板幻灯片模板关键词排名优化外包