PHP设计模式——享元模式(Flyweight Pattern)

享元,这个两个字不太好理解,从它的英文名称倒是比较贴切。它可以避免重复创建相同的对象即可以节省内存、提高性能。

其实有点类似单例模式,获取一个对象(或者数据)时候会先检查是否已经过。但不同的地方是单例是判断一个类是否实例化过,而享元是判断要实例化的对象(可以是单个/多个对象或数据)是否已经存在。
<?php
/**
* Created by PhpStorm.
* User…[全文]


PHP设计模式——单例模式(Singleton Pattern)

单例模式又叫单元素模式。某些应用程序资源是独占的,因为有且只有一个此类型的资源。例如,通过数据库句柄到数据库的连接是独占的。您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销,在获取单个页面的过程中更是如此。这样也避免重复创建一个对象造成的不必要的开销。
require_once(“DB.php”);

class DatabaseConnection
{…[全文]


PHP设计模式——工厂模式(Factory Pattern)

 工厂模式(Factory Pattern)分为三类
简单工厂模式(Simple Factory)
简单工厂模式又称静态工厂方法模式。从命名上就可以看出这个模式一定很简单。简单工厂模式是通过一个静态方法创建对象的。
interface people {
function marry();
}
class man implements people{
functio…[全文]


良好的编程的几个原则

良好的编程原则与良好的设计工程原则密切相关。本文总结的这些设计原则,帮助开发者更有效率的编写代码,并帮助成为一名优秀的程序员。

1.避免重复原则(DRY – Don’t repeat yourself)

编程的最基本原则是避免重复。在程序代码中总会有很多结构体,如循环、函数、类等等。一旦你重复某个语句或概念,就会很容易形成一个抽象体。

2.抽象原则(Abstraction Pri…[全文]


用gitlab的web hook 自动更新代码

自动更新代码
功能
该功能通过监听 git push 事件,触发A服务器指定目录 git pull。
比如 forumsbaozi 分支在任意环境下成功push后,会在A服务器的 /data/web/framework/trunk/ baozi/ forums 目录执行 git pull
部署
在A服务器运行 auto_update.py。
在 gitlab,添加 web hoo…[全文]