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

PHP设计模式之简单工厂模式-解读

时间:2023-03-29 21:56:17 PHP

「PHP」简单工厂PHP简单工厂模式的工厂类一般使用静态方法通过接收不同的参数返回不同的对象实例。也就是在使用的时候,通过传递参数来决定生成不同的对象。简单工厂:PHP官方进阶学习交流社区“点击”管理整理部分资料,BAT等一线大厂进阶知识体系准备齐全(相关学习资料及笔试面试题)且不限于:分布式架构、高安全扩展、高性能、高并发、服务器性能调优、TP6、laravel、YII2、Redis、Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等知识点进阶进阶干货简单工厂需要三个角色:产品接口类:用于定义产品规格;具体产品实现,如ConcreateProductA、ConcreateProductB;简单工厂类SimpleFactory:用于生成具体的产品。使用时,通过向简单工厂类传递参数,即可生成想要的产品。代码:ICar.php:定义产品规格:namespaceYjc\SimpleFactory;interfaceICar{publicfunctiondriver();}具体产品实现:namespaceYjc\SimpleFactory;Benz类实现ICar{publicfunctiondriver(){echo'benzdriver.';}}classBmwimplementsICar{publicfunctiondriver(){echo'bmwdriver.';}}SimpleFactory类SimpleFactory:命名空间Yjc\SimpleFactory;classSimpleFactory{publicstaticfunctionmakeCar($type){switch($type){case'Mercedes':returnnewMercedes();休息;case'BMW':returnnewBMW();休息;默认值:thrownew\Exception('Typenotsupported!');休息;}}}参数代码:$car=SimpleFactory::makeCar('Mercedes-Benz');$汽车->司机();简单工厂优点/缺点:优点:简单工厂模式能够根据外部给定的信息做出决策正是应该创建一个具体类的对象。各自的责权分明,有利于整个软件架构的优化。缺点:很明显工厂类集中了所有实例的创建逻辑,完全违背了GRSPR的高内聚责任分配原则。PHP互联网架构师成长之路*《设计模式》终极指南PHP互联网架构师50K成长指南+行业解题大纲(持续更新中)面试10家公司,拿到9个offer,2020年PHP面试题如果喜欢我的文章,如果想交流并与更多资深开发人员一起学习,获得更多与各大厂商面谈相关的技术咨询和指导,欢迎加入我们的群-点击这里。