设计模式
理想coder
这个作者很懒,什么都没留下…
展开
-
面向对象编程的深入理解
面向对象编程就是把需要处理的逻辑对象,当做一个整体,把需要的参数配置赋值给对象,对象内部处理逻辑完全对客户端封闭。只暴露接口给客户端调用。ps: 有一个问题困惑了我很久,就是数据库的增删改查与业务逻辑的搞混,数据库增删改查应该与逻辑对象分开来,放到数据层。示例:需求: 有n种职业,每种职业的不同名称,不同的薪资新建person表CREATE TABLE person ( `id` INT(11) NOT NULL auto_increment, `name` VARCHAR(20) NOT.原创 2021-10-14 10:57:22 · 207 阅读 · 0 评论 -
PHP设计模式之代理模式
代理模式定义为其他对象提供一种代理,以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介作用。代理模式使用场景当需要隐藏一个类的时候;可以在代理类中做访问委托类的权限管理;当我们需要对委托类功能做拓展的时候也可以使用代理模式。代理模式的优缺点优点:职责清晰,委托类只需关注自身功能实现,不需要非自身职责;代理对象可以在客户端和目标对象之间起到中介作用,保护目标对象;可拓展性更强。缺点:代理类的增加,会使系原创 2021-01-06 23:46:03 · 115 阅读 · 0 评论 -
2021-01-04
策略模式(Strategy)策略模式定义策略模式是把算法,封装起来。使得使用算法和使用算法环境分离开来,当算法发生改变时,我们之需要修改客户端调用算法,和增加一个新的算法封装类。比如超市收银,收营员判断顾客是否是会员,当顾客不是会员时候,按照原价收取顾客购买商品费用,当顾客是会员的时候,满100减5元。策略模式的优点降低代码耦合度,增加代码重用性,当需要实现新的算法时候,只需要修改算法部分,而不需要对上下文环境做任何改动;增加代码可阅读性,避免使用if…else嵌套,造成难以理解的逻辑;策原创 2021-01-04 23:27:58 · 97 阅读 · 0 评论 -
工厂方法模式
工厂方法模式简单工厂模式违反了开闭原则还有单一职责原则,工厂方法模式是对简单工厂模式的进一步抽象。工厂方法模式的优缺点优点:用户创建实例时不需要知道知道具体类,而只需要知道工厂类;新建一个产品,只需要新建一个相应的类;缺点:类的个数将会越来越多;增加系统抽象度,更加难以理解;抽象产品只能生产一种产品。具体代码AbstractFactory.php<?phpnamespace App\Creational\Factory;abstract class Ab原创 2020-12-31 00:07:39 · 119 阅读 · 0 评论 -
简单工厂模式
工厂模式是最常用的设计模式之一,是一样创建型设计模式。是创建对象的最佳方式,客户端可以不用知道具体对象的情况下,实例化对象。有三种工厂模式简单工厂模式工厂模式抽象工厂模式这里我们先学习介绍简单工厂简单工厂模式定义一个工厂类,可以通过不同的参数返回不同的类的实例。优点:客户端只需知道参数即可,无需知道创建实例的具体类名;可以在不修改客户端的情况下,修改类名。缺点:违反单一职责原则,一个类承担多个职责,随着手机品牌增多,会变的原来越难以维护;违反开闭原则,如果修改一旦出现原创 2020-12-29 23:54:16 · 119 阅读 · 0 评论