设计模式之状态模式

UML图 定义:(源于Design Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 使用场景:当一个对象改变了状态,会影响这个对象能执行的行为。比如当我们灯控制开关,有两个行为:一个是开的行为,一个是关的行为。当灯是开的状态,只能执行关的行为...

2019-03-24 12:26:32

阅读数 43

评论数 0

设计模式之命令模式

UML图 定义:在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。 使用...

2019-03-24 12:13:29

阅读数 41

评论数 0

设计模式之装饰模式

UML图 定义:装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 使用场景:当一个对象可以根据选择动态的加上其他功能,动态的意思是可变的和不确定的。比如:购买汽车系统,我们可以给不同的汽车型号加上不同的功能,比...

2019-03-24 11:45:58

阅读数 52

评论数 0

设计模式之组合模式

UML图 (GoF《设计模式》):将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 使用场景:当遇到树形的结构,一般使用组合模式。思想是,将枝干和叶子抽象出一个接口,让枝干和叶子类实现抽象接口,让它们具有一致性。常见的文件夹系统。文件...

2019-03-24 11:29:27

阅读数 189

评论数 0

设计模式之适配器模式

UML图: 定义:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器的实现有两种方案:类适配(通过继承实现),对象适配(通过获得对象实现) 使用场景:当已有的类现在不能完成客户的需求,比如:一个两头充电器,...

2019-03-24 11:15:19

阅读数 63

评论数 0

设计模式之观察者模式

UML图: 摘抄说明: 观察者模式(Observer)完美的将观察者和被观察的对象分离开。举个例子,用户界面可以作为一个观察者,业务数据是被观察者,用户界面观察业务数据的变化,发现数据变化后,就显示在界面上。面向对象设计的一个原则是:系统中的每个类将重点放在某一个功能上,而不是其他方面。一...

2019-03-24 10:47:45

阅读数 45

评论数 0

设计模式之策略模式

UML图: 官方定义: 定义了一组算法(业务规则); 封装了每个算法; 这族的算法可互换代替(interchangeable) 个人理解,对于一个主体对象来说,它有多种动作行为,而这多种动作行为是平行无关联的。根据多种动作行为抽象出一个接口类,让每一种动作行为都...

2019-03-24 10:25:54

阅读数 37

评论数 0

设计模式

最近在学习设计模式,目前学了大概10个,学完最深de的体会就是对于其他人写的代码有了新的理解。知道了为什么哪些代码为什么要这么设计编写。 个人对于设计模式的理解是,是前人总结的在某些特定场景,提供一种设计方法,更好的让代码具有灵活性和可维护性。设计模式总的来说是一个解耦的过程,降低类之间的耦合度...

2019-03-24 09:51:06

阅读数 37

评论数 0

https的理解

https的理解 上一篇简单的了解了http的过程,那https的实现过程又是怎样的呢? 其实上网找了很多的资料,其实之前一直对这些协议的实现一点都不懂,只是单纯的在网上找教程,下个证书直接服务器配置一下,然后可以用了就好。 https数据过程中是怎么做到加密的呢? 从字面上意思去...

2019-02-28 10:36:07

阅读数 40

评论数 0

HTTP协议的理解

HTTP是基于应用层的协议,然后由TCP在传输层进行传输。通俗的说HTTP是基于TCP协议的。 对于HTTP协议感觉就是一头雾水,虽然知道这是为了统一标准而定下的协议,但是这个协议它是怎样工作的呢。 举一个例子,当我们在浏览器中输入URL访问资源,这个时候浏览器会根据HTTP协议将相关数据...

2019-02-27 23:42:36

阅读数 30

评论数 0

MySQL的主从复制

为什么需要这个技术,主要目的是减轻主数据库服务器的负载。使用MySQL的主从复制功能轻松完成主从服务器的数据同步。只有主从服务器的数据能及时更新,为读取分离提供前提条件。   MySQL复制技术主要使用bin-log日志功能,主服务器的基本所有操作都会记录在bin-log日志中,从服务器只要执...

2019-01-04 11:44:36

阅读数 9

评论数 0

Composer自动加载

现在很多的PHP框架使用了composer方法来管理第三方类, 之前也是一脸懵,一直在想,我们的框架是怎么做到我们自动把vendor中的类库自动识别到相关文件的。后来看了一下源码,发现是是用了composer去管理跟实现这个功能。以下是在看源码,写下的一点小结。 /** * php&...

2018-11-13 11:54:53

阅读数 62

评论数 0

Laravel基于类库Firebase/php-jwt 的JWT加密实现

  安装类库      composer require firebase/php-jwt     2.登录接口。 引入类库(use Firebase\JWT\JWT; )->查询数据库用户名、密码正确->生成Token并返回 public ...

2018-10-18 16:45:54

阅读数 330

评论数 0

php 调用阿里云API

//入口 public function index() { date_default_timezone_set("GMT"); $Timestamp = date('Y-m-d\TH:i:s\Z',time()); date_defa...

2018-07-26 15:26:28

阅读数 683

评论数 0

[阿里云]The input parameter "Timestamp" that is mandatory for processing this request is not supplied.

因为业务需要,要接阿里云的api   一直提示: The input parameter "Timestamp" that is mandatory for processing this request is not supplied.   我的时间...

2018-07-17 15:32:24

阅读数 639

评论数 1

linux安装gitlab

转载链接:https://cloud.tencent.com/info/497b83f3ee97879ae9526ebe65061b9a.html转载链接:https://blog.csdn.net/xiangshanqishi/article/details/23439397在安装过程中根据自身...

2018-04-19 15:13:00

阅读数 473

评论数 0

[nginx] 给http网站访问加https

只需要给服务器配置SSL证书信息就可以了1.申请域名SSL证书,方式有很多,本例是再腾讯云申请了一个免费证书。需要一点时间审核,审核通过之后,下载证书待用2.去nginx配置文件中加入如下配置,server {    listen 443;        server_name XXXXX.com...

2018-02-24 17:38:29

阅读数 2223

评论数 0

linux忘记mysql5.7的root用户密码

1.跳过登录mysql的验证vi /etc/my.cnf在[mysqld]段中加入skip-grant-tables保存并退出2.重启服务service mysqld restart3.修改密码并清除缓存mysql -uroot -p密码直接回车就好use mysql;update user se...

2018-02-24 14:46:17

阅读数 131

评论数 0

linux使用crondtab定时执行php脚本文件

本文是综合网上多篇文章,加上自己遇到的问题,进行的总结因为需求需要,需要在linux下定时执行php文件,通过查资料了解到,在linux中一般是用crondtab服务来做定时任务的(类似于windows的定时任务)。crondtab是linux自带服务,如果没有安装自行安装就好。1.安装crond...

2018-02-08 22:48:24

阅读数 265

评论数 0

Mysql Native table 'performance_schema'.'session_variables' has the wrong structure

命令行直接:set @@global.show_compatibility_56=ON;

2017-11-08 12:43:03

阅读数 1511

评论数 4

提示
确定要删除当前文章?
取消 删除
关闭
关闭