编程中的那些套路——关于简单工厂模式

该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP

面向对象五大原则中有一点非常重要的原则:单一职责原则

简单工厂模式就是遵循了这一原则,它让不同职责的类各司其职。

简单工厂模式是面向对象多态性的一个应用,它的好处在于:

  1. 代码具有一定的拓展性

  2. 遵循了单一职责原则

  3. 属于面向接口编程

  4. 简单工厂模式提供了一个对外的类 Client和实际工作的类,外界只需要传递特定的参数就可以调用不同的实际功能类,而不需要直接面对实际类与函数,拓展性大大增强。

一言不合上代码。

简单工厂模式.php

work();    }}$bankstaff = new Client();print_r($bankstaff->working('接待')); // output :开始接待?>

简单工厂模式可以通过传递对应的参数从而调用指定的类方法,后期需要增加职位的话,可以直接新增一个类然后写一个switch ($type) {case’condition’: }即可。

重点来了,简单工厂模式的不足:

但是简单工厂模式有一个不足,虽然它遵循了单一职责原则,但它违反了另一条同样很重要的原则:开放封闭原则

如果新增一个财务职位,那么我们还要修改 Client类,增加一个switch ($type) {case’condition’: }判断,这无疑是十分灾难的,因为写好的代码我们最好不要再去碰它,因为很可能造成未知的原因,你说是不?

由此衍生出更加规范,拓展性更强,遵循了开放封闭原则的的工厂模式(没有简单):

该文章属于《编程中的那些经典套路——设计模式汇总》系列

关键字:php, 设计模式, 编程思想, 面试相关

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部