php设计模式
汪威
这个作者很懒,什么都没留下…
展开
-
如何安全的加密传输大文件数据
在日常对数据处理的过程中,数据加密已经时很常见的问题了,一般的数据加密有哪些呢:RSA、MD5、AES、Base64等;RSA:是公开密钥系统的代表;安全性:建立在具有大素数因子的合数,其因子分解困难这一法则之上;处理速度慢;密钥管理:加解密过程中不必网络传输保密的密钥;密钥管理优于AES算法;RSA加解密速度慢,不适合大量数据文件加密;AES:Rijndael算法是新一代的高级加密标准,运行时不需计算机有非常高的处理能力和大的内存;操作可以很容易的抵御时间和空间的攻击,原创 2020-08-30 17:40:20 · 3588 阅读 · 0 评论 -
模板方法模式
模板方法(Template Method)设计模式中使用了一个类方法templateMethod(), 该方法是抽象类中的一个具体方法, 这个方法的作用是对抽象方法序列排序,具体实现留给具体类来完成.关键在于模板方法模式定义了操作中算法的"骨架",而由具体类来实现.使用场景:在一系列操作中,我们已经知道了该操作有那些步骤,以及步骤的顺序,只需要用不同的方式去实现这些步骤,这是我们可以使用模版方...原创 2019-03-31 18:19:00 · 147 阅读 · 0 评论 -
状态设计模式
理解:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。使用状态模式的场景:对象中频繁改变非常依赖于条件语句。 就其自身来说, 条件语句本身没有什么问题(如switch语句或带else子句的语句),不过, 如果选项太多, 以到程序开始出现混乱, 或者增加或改变选项需要花费太多时间, 甚至成为一种负担, 这就出现了问题对于状态设计模式, 每个状态都有自己的具体类, ...原创 2019-03-20 20:58:30 · 155 阅读 · 0 评论 -
装饰器模式
什么是装饰器模式?如果对已有对象的部分内或功能性发生改变,但是不需要修改原始对象的结构,那么使用装饰器设计模式最适合。装饰器模式应用问题与解决方案:我们最开始学习面向对象编程的相关知识时,第一个障碍往往是理解继承当中的父子关系。随着时间的推移,我们会更加熟悉这种编程方法。当面对新的挑战时,经验丰富的面向对象编程人员会立即为某个对象扩展更多的功能。不过,正如万物皆有度,只有适度的使...转载 2019-03-20 20:53:06 · 122 阅读 · 0 评论 -
观察者模式
什么是观察者模式?观察者设计模式能够更便利地创建查看目标对象状态的对象,并且提供与核心对象非耦合的指定功能性。该模式非常简单:一个对象通过添加一个方法(该方法允许另一个对象,即观察者 注册自己)使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。这些观察者使用该信息执行的操作与可观察的对象无关。结果是对象可以相互对话,而不必了解原因。UML该图详细说...转载 2019-03-09 10:33:40 · 116 阅读 · 0 评论 -
责任链模式
责任链模式1. 模式介绍 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这个对象连成一条链,并沿着这个链传递该请求,直到有一个对象处理它为止。2.模式组成 2.1 抽象处理者(Handler)角色: 定义出一个处理请求的接口。如果需要,接口可以定义 出一个方法以设定和返回对下家的引用。这个角色通常由一个Java抽象类或者Java接口...转载 2019-03-04 19:36:10 · 136 阅读 · 0 评论 -
单例模式
作用:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。优势:避免的大量的实例话,从而浪费资源,需要把握的要点:类中只有一个实例的通道,且对外开放;构造方法必须设置为私有,防止外部直接调用(new对象都会消耗内存);必须禁止克隆,防止直接复制;<?php/*** 设计模式之单例模式* $_instance必须声明为静态的私有变量* 构造函数必须声...原创 2019-03-02 20:59:16 · 116 阅读 · 0 评论 -
php工厂模式
定义:我们只需要提供一个创建对象实例的功能,而无需关心其具体实现,被创建实例的类型可以是接口、抽象类,也可以是具体的类。一、简单工厂模式(平时开发中基本上简单工厂模式就够用了)说明: Api: 定义客户所需要的功能接口(后面具体实现的类基本上就根据这个来) Impl: 具体实现Api的实现类,一般有多个, Factory: 工厂,选择合适的实现类来创建Api接...原创 2019-03-02 20:44:46 · 1812 阅读 · 0 评论