简介
在[PHP设计模式(七):设计模式分类][2]中我们提到过结构设计模式(Structural
patterns),结构设计模式专注于设计对象(Object)和实例(Instance)的构建、组合过程。
结构设计模式包括下面七种设计模式:
适配器(Adapter)
桥接(Bridge)
合成(Composite)
装饰(Decorator)
外部(Facade)
轻量(Flyweight)
代理(Proxy)
请无视拗口的中文翻译。结构设计模式着重于低耦合、高复用、高可维护性、高拓展性的设计原则。
适配器模式
适配器模式是一种利用适配器将现有的实现,适配到已有接口的设计模式,最常见的例子就是变压器,将已
继续阅读 »
一个悠闲的上午,DBA 发群上的一条消息把我从代码的深渊拉了出来:“从机延迟了300s”。
我心中简单思考了一番确认了可能造成的原因,更重要的一点,确认这不是我干的好事后,继续淡定地敲着我的代码。But,这件事情要是没我什么事,我也不会写这篇文章,所以我们继续看。
继续阅读 »
每个第三季度都是最忙的,工程师活动,部门事务,终于得以闲下来打理自己的网站了,之后会恢复发布文章的频率(每周至少一篇),有什么聊什么,也沉淀下自己的文笔。
PS:博客没怎么去推广,就当作自己跟自己的谈话吧。
今天来浅谈下设计模式中的单例模式。单例模式是最常用到的设计模式之一,有时候在单线程中需要多次调用到同一个类对象,每实例化一次,内存君就多创建一个内存地址,这样就造成了资源浪费,严重的冗余。利用单例模式则可以有效的减少这种资源浪费。
继续阅读 »
一、安装nginx
首先来安装nginx,使用如下命令:
shell
sudo apt-get -y install nginx
查看nginx安装的文件。使用如下命令进行查看,如下:
shell
dpkg -S nginx
nginx默认的安装位置是/etc/nginx目录,而且nginx的配置文件nginx.conf也是在该目录下。
除此之外,nginx的默认网站目录在/usr/share/nginx/html下,默认nginx网站配置文件为/etc/nginx/sites-available/目录下的default文件。
启动nginx,可以使用如下命令:
shell
sudo /etc/init.d/nginx st
继续阅读 »
实现数据缓存目前我知道的有Memcache和Redis,这次来讲解怎么安装Memcache并使用,而在Nginx+php-fpm驱动php环境的情况下,利用apt-get安装Memcache好像不管用,所以我们直接在php的bin目录下安装Memcache
继续阅读 »
今天我来谈谈设计模式中常用的一个模式:工厂模式;
工厂模式的应用场景通常是需要根据不同参数来判断运行方法,为了避免逻辑处理代码的复杂度。我们可利用工厂模式,来减低逻辑处理的耦合度,提高代码可扩展性。
举个例子
商场里面的现金结算系统,有打8折和满500返50的功能,如果用一般的代码设计的话,就会是这样的:
继续阅读 »
这两个星期,朋友结婚、公司活动、任务、岗位线座谈会,忙得不可开交,趁着周末,让自己闲下来写篇博文。回想起我在看设计模式的时候,经常看到书上经常会用到静态类和接口,但却不了解抽象类和接口的区别,俗话说,不了解透彻就无法运用到实际场景上(PS:这俗话当然是我自己编的~_~),那它们两者的区别在哪呢?
继续阅读 »
之前在学设计模式的时候,总会去查找相关的博客文章,但发现很多博主只写了几个模式就没写下去了,当初很是不明白,为什么不写完呢,现在自己来记录这些的时候,才体会到,常用的设计模式就那么几个,例如工厂模式、策略模式、单例模式,而且现在互联网资源那么多,完全没必要自己再去码字纪录,再后来也就造成了大家都是写那么几个就不写的情况。
继续阅读 »
Hello
最近看了Laracasts的Laravel5教程视频,感慨很多啊。凭着我半吊子英语都觉得Laravel绝对有向Rails看齐的能力。
今天开始做一些小的笔记。
继续阅读 »