当前位置:首页>

文章列表

命令模式-行为型模式

命令模式 (Command Pattern): 将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。 ========== 为什么需要命令模式 1、使用命令模式,能够让请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。 2、使用命令模式可以比较容易地设计一个命令队列和宏命令(组合命令),而且新的命令可以很容易地加入系统 有关命令模式的一个经典的例子,就是电视机与遥控器。如果按照命令模式的UML图那么,就有这样的对应关系:电视机是请求的接收者,遥控器是请求的发送者。遥控器上有一些按钮,不同的按钮对应电视机的不同操作。这些按钮就是对应的具体命令类。抽象命令角色由一个命令接口来扮演,

陈承阳时间:2018-03-10 21:03:05 分类:设计模式阅读全文

迭代器模式-行为型模式

迭代器模式(Iterator Pattern):迭代器模式可帮组构造特定的对象,那些对象能够提供单一的标准接口循环或迭代任何类型的可计数数据。 ========== 为什么需要迭代模式 1、我们想要向遍历数组那样,遍历对象,或是遍历一个容器。 2、迭代器模式可以隐藏遍历元素所需的操作 在PHP中我们对迭代模式的使用,通常只需实现Iterator接口即可。 Iterator extends Traversable {     /* 方法 */     abstract public mixed current ( void )     abstract public scalar key ( void )     abstract

陈承阳时间:2018-03-10 20:44:34 分类:设计模式阅读全文

git使用教程

目录 ======== 安装 ==== 创建版本库 ==== 添加 ==== 修改 ==== 回退及前进 ==== 撤销修改(包含三种情形) ==== 删除 ======== 远程仓库 ==== 把本地仓库推送到GitHub仓库 ==== 从远程库克隆 ======== 分支管理 ==== 解决冲突 ======== git常用命令 ======== git使用流程规范 Git跟踪并管理的是修改,而非文件。每次修改,如果不add到暂存区,那就不会加入到commit中。 ======== 安装 1、在Linux上安装Git Debian或Ubuntu下的安装: $ sudo apt-get install git 可以直接通过源码安装。先从Git官网下载源码,然后解压,依次输入: $ .

陈承阳时间:2018-03-07 20:02:46 分类:版本控制阅读全文

适配器模式-结构型模式

适配器模式(Adapter Pattern):将某个对象的接口适配为另一个对象所期望的接口。属于结构型设计模式。 ========== 为什么需要适配器模式 1、某个操作数据库的有两套不同的数据库操作方法,我们通过适配器统一成一个接口。例如,我们待会把mysql和mysqli统一成一个接口。 2、我们有多套数据库对应了多种数据库操作,例如MySQL,SqlServer,Oralce,Redis都有对应的操作函数,或操作类。PDO把这些都统一成一个接口。 3、系统的增加一些新功能,创建了一个新的接口,但是老的接口并不想废弃。可以使用适配器模式,对用户隐藏这两个接口,提供用户所希望的接口。 ========== 设计实例 //MySQL待操作适配类 class MySQLAdaptee implements Target {  &n

陈承阳时间:2018-03-04 21:46:31 分类:设计模式阅读全文

策略模式-行为型模式

策略模式(Strategy Pattern):定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。 策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy) ========== 为什么需要策略模式 1、在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。 2、利用面向对象的继承和多态机制,将多个算法解耦。避免类中出现太多的if-else语句 ========== Context(应用场景) 1、需要使用ConcreteStrategy提供的算法。 2、 内部维护一个Strategy的实例。 3、 负责动态设置运行时Strategy具体的实现算法。 4、负责跟Strategy之间的交互和数据传递。 Strategy(抽象策略类): 定义了一个公共接口,各种不同的算法以不同的方式实

陈承阳时间:2018-03-02 21:37:03 分类:设计模式阅读全文

观察者模式-行为型模式

观察者模式 (observer Pattern):定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 也叫发布-订阅模式 观察者模式的一个关键词就是触发,被观察者的动作触发观察者的做出对应的响应。 观察者模式的另一个常用领域在于插件系统。 ========== 为什么需要观察者模式 1、一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作 2、完美的将观察者和被观察的对象分离开,使得每个类将重点放在某一个功能上,一个对象只做一件事情。 3、观察者模式在模块之间划定了清晰的界限,提高了应用程序的可维护性和重用性。 ========== 简单实例 观察者模式也叫发布订阅模式,如果说我们现在在做一个系统。我们让所有客户端订阅我们的服务端,那么当我们的服务端有更新信息的

陈承阳时间:2018-03-01 21:27:55 分类:设计模式阅读全文

php-fpm配置详解

php-fpm.conf 配置示例 pid /usr/local/php/var/run/php-fpm.pid error_log /usr/local/php/var/log/php-fpm.log log_level = notice emergency_restart_threshold = 60 emergency_restart_interval = 60s process_control_timeout = 0 daemonize = yes listen = 127.0.0.1:9000 listen.backlog = -1 listen.allowed_clients = 127.0.0.1 listen.owner = www listen.group = www listen.mode = 0666 user = www group

陈承阳时间:2018-02-28 13:34:13 分类:PHP阅读全文

MySQL外键约束无法删除整表数据

在MySQL中清空表数据时,报如下错误 Cannot truncate a table referenced in a foreign key constraint ... 原因是MySQL中设置了foreign key关联,造成无法删除数据。可以通过设置FOREIGN_KEY_CHECKS变量的值来避免这种情况。 解决方法:     SET FOREIGN_KEY_CHECKS=0; #禁用外键约束     truncate tb; #执行sql语句     SET FOREIGN_KEY_CHECKS=1; #启动外键约束     SELECT @@FOREIGN_KEY_CHECKS; #查看当前FOREIGN_KEY_

陈承阳时间:2018-02-28 20:13:42 分类:MySQL阅读全文

JQuery粒子背景插件Particleground

========== 插件描述:Particleground 粒子系统是一个jQuery插件,时髦的背景。 Particleground包括一个可选的视差效应控制鼠标在桌面设备和移动设备上的陀螺仪。它适用于任何浏览器支持HTML5画布。下载地址 https://github.com/jnicol/particleground ========== 效果图示 ========== 使用方法 html <!-- 页面调用jquery和particleground.js --> <script type='text/javascript' src='js/jquery-1.11.1.min.js'></script> <script type='text/javascrip

陈承阳时间:2018-02-27 19:43:04 分类:JavaScript阅读全文

SQLServer数据实时同步到MySQL

目录 1.在SQLServer服务器上安装配置mysqlconnector 2.新建链接服务器 3.sqlserver和mysql新建库和表 4.建立回环 5.编写触发器和存储过程(sqlserver) 6.测试 1.在SQLServer服务器上安装配置mysqlconnector http://www.mysql.com/products/connector/ ODBC数据管理器->系统DSN->添加->mysql ODBC 5.3 ANSI driver->填入data source name 如 mysql ,mysql的ip、用户名、密码即可 ---2.新建链接服务器 exec sp_addlinkedserver @server='mysql', --ODBC里面data source nam

陈承阳时间:2018-02-26 19:24:47 分类:MySQL阅读全文


选择页面: