php设计模式(一):简介

一、设计模式简介
首先我们来认识一下什么是设计模式:
设计模式是一套被反复使用、容易被他人理解的、可靠的代码设计经验的总结。
设计模式不是Java的专利,我们用面向对象的方法在PHP里也能很好的使用23种设计模式。
那么我们常说的架构、框架和设计模式有什么关系呢?
架构是一套体系结构,是项目的整体解决方案;框架是可供复用的半成品软件,是具体程序代码。架构一般会涉及到采用什么样的框架来加速和优化某部分问题的解决,而好的框架代码里合理使用了很多设计模式。
二、提炼设计模式的几个原则:
开闭原则:模块应对扩展开放,而对修改关闭。
里氏代换原则:如果调用的是父类的话,那么换成子类也完全可以运行。
依赖倒转原则:抽象不依赖细节,面向接口编程,传递参数尽量引用层次高的类。
接口隔离原则:每一个接口只负责一种角色。
合成/聚合复用原则:要尽量使用合成/聚合,不要滥用继承。
三、设计模式的功用?
设计模式能解决
替换杂乱无章的代码,形成良好的代码风格
代码易读,工程师们都能很容易理解
增加新功能时不用修改接口,可扩展性强
稳定性好,一般不会出现未知的问题
设计模式不能解决:
设计模式是用来组织你的代码的模板,而不是直接调用的库;
设计模式并非最高效,但是代码的可读性和可维护性更重要;
不要一味追求并套用设计模式,重构时多考虑;

四、设计模式分类
1、创建型模式:
单例模式、工厂模式(简单工厂、工厂方法、抽象工厂)、创建者模式、原型模式。
2、结构型模式:
适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
3、行为型模式:
模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。

原文地址:https://www.cnblogs.com/hb01846/p/10945218.html

时间: 2024-10-07 08:32:30

php设计模式(一):简介的相关文章

JavaScript 设计模式之简介

一.设计模式概念解读 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.无数实战代码设计经验的总结.使用设计模式是为了让系统代码可重用.可扩展.可解耦.更容易被人理解且能保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的:设计模式使代码编制真正工程化:设计模式是软件工程的基石脉络,如同大厦的结构一样.只有夯实地基搭好结构,才能盖好坚壮的大楼.也是我们迈向高级开发人员必经的一步. 程序设计7大面向对象设计原则

设计模式总体简介

1. 设计模式分类. 设计模式在粒度和抽象层次上各不同,以有效的方式组织起来便于对各族相关的模式进行引用,同时也便于发现新的设计模式. 分类原则: (1) 目的准则: 根据模式是用来完成什么工作的来划分. 创建型: 与对象的创建相关. 结构型: 处理类和对象的组合. 行为型: 对类或对象怎样交互和怎样分配职责进行描述. (2) 范围准则: 指定模式主要是用于类还是用于对象. 类模式: 处理类和子类之间的关系,这些关系通过继承建立, 是静态的,在编译时刻便确定下来了. 对象模式: 处理对象间的关系

设计模式(0): 简介及SOLID原则

在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案. 设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案.面向对象设计模式通常以类或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类或对象.设计模式能使不稳定依赖于相对稳定.具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变化的能力. 并非所有的软件模式都是设计模式,设计模式特指软件"设计"层次上的问题

马士兵老师设计模式课程简介

设计模式学习顺序 目录如下: 第一讲:JavaSE_Path_ClassPath(缺) 第二讲:OO 思维 第三讲:抽丝剥茧策略模式,CC接口详细解析 第四讲:Iterator-遍历容器的精灵 第五讲:工厂系列-对象生产过程自定义 第六讲:动态代理-解析Spring的AOP 更新 第七讲:ChainOfResponsibility-解析Filter和Interceptor02 第二段由于粗心,设置错误,没有开麦克风,故没有声音,很是抱歉 具体学习顺序: 设计模式系列 尚学堂科技_马士兵_设计模式

Android设计模式1

Android设计模式1 简介项目开发中发现问题.解决问题这个过程中会出现很多问题,比如重复出现.某个问题的遗留,这些问题的本质就是设计模式. 解决问题的复杂性 分解分而治之,将大问题分解为多个小问题,将复杂问题分解为多个简单问题 抽象处理复杂性的一个通用的技术--抽象由于不能掌握全部的复杂对象,我们选择忽视它的非本质细节,而去 处理泛化和理想化了的对象模型. 面向对象 理解隔离变化从宏观角度来看,面向对象的构建方式更能适应软件的变化,能将变化所带来的影响减为最小. 各司其职从微观角度来看,面向

移动应用UI设计模式(第2版)——互动出版网

这篇是计算机类的优质首发推荐>>>><移动应用UI设计模式(第2版)> 畅销手册全新升级 全彩印刷 简易的UI模式参考书 交互ui应用的案例教程 界面设计的点睛之笔 超过photoshop设计的框架 找到众妙之门的那把钥匙 编辑推荐 在你急需设计出一个精美易用的移动应用之时,既来不及也没有必要重新发明轮子.本书通过1000张屏幕截图,为你讲解时下安卓.iOS以及Windows Phone平台上90多种移动应用UI设计模式. 自本书第1版出版以来,移动领域日新月异.移动操

为什么学设计模式?

设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用.设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案.这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的. 设计模式是一套被反复使用的.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦

php设计模式(一):简介及创建型模式

我们分三篇文章来总结一下设计模式在PHP中的应用,这是第一篇创建型模式. 一.设计模式简介 首先我们来认识一下什么是设计模式: 设计模式是一套被反复使用.容易被他人理解的.可靠的代码设计经验的总结. 设计模式不是Java的专利,我们用面向对象的方法在PHP里也能很好的使用23种设计模式. 那么我们常说的架构.框架和设计模式有什么关系呢? 架构是一套体系结构,是项目的整体解决方案:框架是可供复用的半成品软件,是具体程序代码.架构一般会涉及到采用什么样的框架来加速和优化某部分问题的解决,而好的框架代

精读《JavaScript设计模式》:简介(一)

经过一段工作时间的沉淀后,我发现需要细看一些书籍验证当中获得的经验.在JavaScript上的结构和模式上的考虑,使我决定精读<JavaScript设计模式>(中文版).在阅读的过程中,发现中文版的某些译文有些不适当的时候,我就会查询相应英文版<Learning JavaScript Design Patterns>,斟酌差异.我摘拿了一些内容记录,在下面描述中,中文上有异议地方,我会附带上英文部分,并记录自己想法. 模式目的: 中文: 编写易于维护的代码,其中一个最重要方面是能够

设计模式浅谈之----设计模式简介

1.何为设计模式 设计模式是一个通过定义.使用和测试去解决特定问题的方法,并且由于设计模式是在面向对象之后为人所知的,基本思想与面向对象不可分割. 在软件工程中,设计模式是一般只在给定条件下会重复性发生问题而提出的一种通用的解决方案. 2.设计模式简史 设计模式的概念在计算机科学领域的普及主要归功于1994年<设计模式:可复用面向对象的软件的基础>,作者GoF(即Erich Gamma.Richard Helm.Ralph Johnson 和 John Vlissides 四人) 3.设计模式