设计模式
SWINGING VINE
这个作者很懒,什么都没留下…
展开
-
读《大话设计模式——第15章 抽象工厂模式》有感
上周末看了一下抽象工厂模式,然后对比了一下简单工厂模式、工厂模式和抽象工厂模式。 对比工厂模式和抽象工厂模式,看得我一愣一愣的。 一个工厂生产一个产品叫工厂模式,生产多个产品就叫抽象工厂模式? 不要试图去理解它,而是去感受它。——ChristopherNolan 按照《大话设计模式》第15章抽象工厂模式的案例走下去,有提到使用简单工厂模式去改进db软件的切换, 但有新数据库软件("新工厂")引入的时候,就需要增加相应的工厂类(实现工厂接口)和数据表("产品")类(实现相应的产品接口)。这种场景下.原创 2021-09-12 17:51:39 · 155 阅读 · 0 评论 -
读《大话设计模式——状态模式》有感
状态模式 对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。 个人观点:状态模式可能是应用中比较冷门的一种模式,也有可能是我对面向对象的理解不深入。 主类中以状态对象作为属性(当前的状态)。并且主类实现方法去切换状态,本质是该方法调用主类的属性(状态对象)的切换方法。 当然,状态类需提供方法进行状态间的流转以及当前状态的行为。 状态模式相当于将我们平时一大串的if(x){...}elseif(y){...}elseif(z){...}else{}语句,变为一个个的状态.原创 2021-09-12 17:50:48 · 76 阅读 · 0 评论 -
读《大话设计模式——适配器模式》有感
之前Jagger偶有提起宏指令的作用,这周抽时间看了Laravel的macroabletrait的代码。原文链接 url = "https://www.jb51.net/article/143539.html" 这个trait中的macro方法除了可以注册closure之外,还支持传入重写了__invoke魔术方法(以调用函数的方式调用一个对象时触发)的对象。此前,没碰到或没留意重写__invoke()的代码,对这个东西比较陌生,也算是新get到一个魔术方法了。 另外,macroabletr...原创 2021-09-12 17:48:31 · 134 阅读 · 0 评论