随笔分类 -  设计模式

摘要:所谓 设计模式 就是人们将开发中反复遇到的问题总结出来的解决方法。 设计源自生活,一切设计模式都可以用现实可以想象的世界来构造。如何将其中的概念、原理使用通俗易懂,更形象的话来描述,是我的初衷。 模式分类 范围\目的创建型结构型行为型 类模式 工厂方法模式 (类)适配器模式 解释器模式 模板方法模式 阅读全文
posted @ 2019-11-12 22:56 Martini 阅读(175) 评论(0) 推荐(0)
摘要:策略模式(Strategy) 意图 对象有某个行为,但是在 不同的场景 下,该行为有 不同的实现算法。 就好比你去餐馆吃饭,首页你要通过菜单来选择你想吃的菜,根据你点的菜的不同,在厨房中去做不同的菜。同样是菜但是根据不同的菜名,有不同的做法。 适用性 需要在不同的情况下使用不同的策略(算法),或者在 阅读全文
posted @ 2019-11-12 22:49 Martini 阅读(236) 评论(0) 推荐(0)
摘要:观察者模式(Observer) 意图 定义对象间一对多的依赖关系,当对象的状态发生变化时,所有依赖于它的对象都得到通知并被自动更新。它使用的是低耦合的方式。 现在生活中离不开手机,每个人都有手机号,朋友联系你要用手机,你的银行卡也要绑定手机号等等。 那现在你换了一个手机号,朋友,银行都要知道你的手机 阅读全文
posted @ 2019-07-18 10:02 Martini 阅读(327) 评论(2) 推荐(0)
摘要:什么是 SPLSPL(Standard PHP Library)即标准 PHP 库,是 PHP 5 在面向对象上能力提升的真实写照,它由一系列内置的类、接口和函数构成。SPL 通过加入集合,迭代器,新的异常类型,文件和数据处理类等提升了 PHP 语言的生产力。它还提供了一些十分有用的特性,如本文要介绍的内置 Observer 设计模式。本文介绍如何通过使用 SPL 提供的 SplSubject和 ... 阅读全文
posted @ 2019-07-05 01:22 Martini 阅读(358) 评论(0) 推荐(0)
摘要:Template Method(模板方法模式) 将具体处理交给子类 Template Method 就是定义一个操作中的算法骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构可以定义该算法的某些特定步骤 。 简单地说就是 用一些抽象的操作定义一个算法,而子类将重定义这些操作以提供具体的 阅读全文
posted @ 2019-03-19 19:27 Martini 阅读(500) 评论(0) 推荐(0)
摘要:Adapter(适配器模式) 加个“适配器”以便于复用 将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 应用场景 如果我们的代码依赖一些外部的API,或者依赖一些可能会经常更改的类,那么应该考虑用适配器模式。 你想使用一个已经存 阅读全文
posted @ 2019-03-06 10:58 Martini 阅读(578) 评论(0) 推荐(0)
摘要:基本概念 设计模式是指开发人员针对软件开发过程中反复遇到的问题总结出来的解决方法。 DesignPatternsPrinciple【设计模式原则】 设计模式六大原则 开放封闭原则:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象. 阅读全文
posted @ 2019-03-06 10:40 Martini 阅读(432) 评论(0) 推荐(0)