当前位置: 首页 > 后端技术 > PHP

PHP设计模式抽象工厂模式(AbstractFactory)代码示例(一)

时间:2023-03-30 05:37:01 PHP

目的创建一系列相关或依赖的对象,无需指定具体的类。通常会创建实现相同接口的类。抽象工厂的客户端并不关心对象是如何创建的,它只知道它们是如何协同工作的。UMLDiagram官方PHP进阶学习交流社区“点击”管理整理部分资料,BAT等一线大厂进阶知识体系已备齐(相关学习资料及笔试面试题)且不限于:分布式架构,高扩展、高性能、高并发、服务器性能调优、TP6、laravel、YII2、Redis、Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等知识点高级进阶干货代码产品。phpproductPrice=$productPrice;$this->shippingCosts=$shippingCosts;}publicfunctioncalculatePrice():int{return$this->productPrice+$this->shippingCosts;}}DigitalProduct.phpprice=$price;}publicfunctioncalculatePrice():int{return$this->price;}}ProductFactory.phpcreateDigitalProduct(150);$this->assertInstanceOf(DigitalProduct::class,$product);}publicfunctiontestCanCreateShippableProduct(){$factory=newProductFactory();$product=$factory->createShippableProduct(150);$this->assertInstanceOf(ShippableProduct::class,$product);}publicfunctiontestCanCalculatePriceForDigitalProduct(){$factory=newProductFactory();$product=$factory->createDigitalProduct(150);$this->assertEquals(150,$product->calculatePrice());}publicfunctiontestCanCalculatePriceForShippableProduct(){$factory=newProductFactory();$product=$factory->createShippableProduct(150);$this->assertEquals(200,$product->calculatePrice());}}PHP互联网架构师成长之路*「设计模型」最终指南PHP互联网架构师50K成长指南+行业解题大纲(持续更新)面试10家公司,收到9份offer,2020年PHP面试题如果喜欢我的文章,想和更多资深开发者交流学习,获取更多技术咨询指导与各大厂商访谈相关,欢迎加入我们的群——点此(群号856460874)如果内容不错,希望大家多多支持鼓励点赞/点赞,欢迎一起交流;另外,大家有什么问题,建议想看的都可以在评论里提出