• 欢迎来到我的博客
  • [email protected]

标签:设计模式

学习笔记

结构型模式:门面模式、组合模式、流接口模式

结构型模式:门面模式、组合模式、流接口模式
门面模式 目的 避免让你阅读复杂的API 文档 降低耦合性 原理 把多个对象,封装到门面里 将被封装对象的多个方法,封装到门面的一个方法里。 从而,调用门面的一个方法=调用被封装对象的多个方法。 而且可以通过调用不同方法,来使用不同的被封装对象完成同一功能。 UML 组合模式 适用于 一组对象与该对象的单个实例的处理方式一致。 UML 流接口模式……继续阅读 »

tianlan 1个月前 (10-25) 67浏览 0评论 0个赞

学习笔记

访问者模式

访问者模式
目的 抽象说法 (访问者)表示一个作用于某对象结构中的各元素的操作。它允许在不改变各元素的类的前提下,定义作用于这些元素的新操作。 访问者模式属于【行为型】设计模式。 说得明白点 访问者模式可以让你将对象操作外包给其他对象。这样做的最主要原因就是关注(数据结构和数据操作)分离。但是被访问的类必须定一个契约接受访问者。 (详见例子中的 Role::accept……继续阅读 »

tianlan 1个月前 (10-24) 62浏览 0评论 0个赞

学习笔记

代理模式、装饰器模式、桥接模式

代理模式、装饰器模式、桥接模式
前言 之所以把这几个模式放在一起,是因为他们同属于【结构型】设计模式,并且也很相似,让人难以区分。 代理模式 这个不用多说,对【被代理对象】进行访问控制,或者对其功能进行增强(不改变类的情况下添加一些额外的功能)。 装饰器模式 动态地给【被装饰对象】添加一些额外的职责。 桥接模式 将抽象与实现分离,这样两者可以独立地改变。 区别 使用方式 // 代理模式……继续阅读 »

tianlan 1个月前 (10-21) 60浏览 0评论 0个赞

学习笔记

建造者模式

建造者模式
建造者模式 建造者是创建一个复杂对象的一部分接口  【new 需要的类】这个过程在建造者中完成 由 Director 中的 build() 来调用 Builder 中的各个建造方法,并且返回目标对象   ……继续阅读 »

tianlan 1个月前 (10-18) 87浏览 0评论 0个赞

学习笔记

静态工厂、简单工厂、抽象工厂、工厂方法

静态工厂、简单工厂、抽象工厂、工厂方法
前言 在学习设计模式的时候,各种工厂模式傻傻分不清让人头皮发麻,他们同属于【创建型】所以在这里小结一下。 学习参考:https://learnku.com/docs/php-design-patterns/2018 简单工厂 简单工厂模式是一个精简版的工厂模式。 它与静态工厂模式最大的区别是它不是『静态』的。因为非静态,所以你可以拥有多个不同参数的工厂,你可……继续阅读 »

tianlan 1个月前 (10-17) 75浏览 0评论 0个赞

学习笔记

AOP 中的一些概念

AOP 中的一些概念
通知/增强(Advice) 就是被织入的前置/后置操作等。 连接点(Joinpoint) 目标对象的所有可被代理的方法,就是可以应用 Advice 的地方。 切入点(Pointcut) 实际上要应用 Advice 的连接点(连接点是可以应用 Advice,可能应用也可能不应用,而切入点是一定会应用的)。 织入(Weaving) 就是将 Advice 应用到切……继续阅读 »

tianlan 7个月前 (05-12) 237浏览 0评论 0个赞