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

标签:设计模式

学习笔记

行为型模式:中介者模式(Mediator)

行为型模式:中介者模式(Mediator)
作用 本模式提供了一种轻松的多组件之间弱耦合的协同方式。如果你有个 “情报中心”,观察者模式也是个好选择,类似于控制器(并非 MVC 意义上的控制器)。 说的明白点 原本一个类需要依赖多个组件,现在新建一个中介者,让中介者去调用那些组件,原类只用依赖中介者就行了。 UML ……继续阅读 »

tianlan 3个月前 (03-14) 172浏览 0评论 0个赞

学习笔记

结构型模式:注册模式、享元模式、门面模式、组合模式、流接口模式

结构型模式:注册模式、享元模式、门面模式、组合模式、流接口模式
注册模式 这个不用多说,类似一个容易,直接存放元素用的,比享元模式简单一些。 享元模式 享元==共享元素,什么元素?当然是对象、数据结构这些啦。 为了节约内存的使用,享元模式会尽量使类似的对象共享内存。在大量类似对象被使用的情况中这是十分必要的。常用做法是在外部数据结构中保存类似对象的状态,并在需要时将他们传递给享元对象。 门面模式 目的 避免让你阅读……继续阅读 »

tianlan 8个月前 (10-25) 603浏览 0评论 0个赞

学习笔记

访问者模式

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

tianlan 8个月前 (10-24) 501浏览 0评论 0个赞

学习笔记

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

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

tianlan 8个月前 (10-21) 480浏览 0评论 0个赞

学习笔记

建造者模式

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

tianlan 8个月前 (10-18) 555浏览 0评论 0个赞

学习笔记

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

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

tianlan 8个月前 (10-17) 437浏览 0评论 0个赞

学习笔记

AOP 中的一些概念

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

tianlan 1年前 (2020-05-12) 555浏览 0评论 0个赞