摘要:
php设计模式之桥接模式 一、概述 桥接模式:将两个原本不相关的类结合在一起,然后利用两个类中的方法和属性,输出一份新的结果。 其实就是讲不相关的东西通过类(本例中是SendInfo)结合在一起,从而形成多种可能,其实就是将继承关系转化为组合关系 二、案例 1、模拟毛笔(转) 需求:现在需要准备三种 阅读全文
摘要:
php设计模式适配器模式 简介 适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起。 其实就是通过一个转换类,这个转换类里面有一个方法,我们用这个转换方法将原来的接口转换成需要的接口 UML 角色 Target适配目 阅读全文
摘要:
php设计模式之装饰器模式 介绍 装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 思维导图 实例 有这样一个项目,做一个餐厅订餐系统。起初的代码结构是这样的。前面有很多Beverage的继承类,现在遇到的问题是牛奶的价钱上涨了,那么所有相关的类,我们都要进行 阅读全文
摘要:
php设计模式之策略模式 介绍 策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 封装:把行为用接口封装起来,我们可以把那些经常变化的部分,从当前的类中单独取出来,用接口进行单独的封装。 互相替换:我们封装好了接口,通过指定不同的接口实现类进行算 阅读全文
摘要:
php设计模式之责任链模式 实际问题 你的论坛有举报功能,版主能解决粗口方面的举报,警察能解决严重一点的黄赌毒方面的举报,更严重的反政府的举报就需要由国安局来完成。 职场中每个人都有直属的上级,如果到达自己的问题自己能够处理,就自己处理,否则交给上级。这里相当于警察是版主的上级,国安是警察的上级。 阅读全文
摘要:
php设计模式之单例模式 简介 首先明确一下单例模式:如果希望在系统中某个类的对象只能存在一个,那么单例模式是最好的解决方案。 接下来让我们提炼出单例模式的几个关键点:假如有一个单例类,叫做 Singleton,那么: 1 singletonObj 对象应该可以被系统中的任何对象使用 2 singl 阅读全文
摘要:
php设计模式之工厂方法模式 工厂方法模式 工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产 阅读全文
摘要:
php设计模式之抽象工厂模式 【概要】创建型模式抽象工厂模式提供一个创建一系统相关或相互依赖对象的接口,而无需指定它们具体的类【GOF95】【特点】抽象工厂模式(Abstact Factory)是一种常见的软件设计模式。该模式为一个产品族提供了统一的创建接口。当需要这个产品族的某一系列的时候,可以为 阅读全文
摘要:
php 设计模式之工厂模式 简介: 在开发大型系统过程中,往往会出现这样一种情况: 我有一部分基础数据,是类classA是从数据库A读取出来的,其他很多的功能都是基于这个基础数据来操作的。现在呢,我想把数据从数据库A变成从另外的数据源去获取,这时候,要修改起来就比较麻烦,要修改其他很多类的代码。这种 阅读全文
摘要:
php 设计模式之观察者模式 实例 没用设计模式的代码,这样的代码要是把最上面那部分也要符合要求加进来,就要修改代码,不符合宁增不改的原则 介绍 观察者模式定义对象的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新! 所有的观察者(observer)全部被注册(reg 阅读全文
摘要:
php和js区别 两者在语法上类似,楼上说的对,js=javascript是工作在浏览器端的脚本语言,他所提交的数据是交给浏览器来处理的。但是现在的Ajax技术已经可以把js提交的数据交付到浏览器来处理。php,是工作在服务器端的脚本,把数据提交给服务器去处理,服务器再响应到浏览器,这个你要看下BS 阅读全文
摘要:
php面试题 1、双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解释 双引号的变量名后面必须要有一个非数字、字母、下划线的特殊字符,或者用讲变量括起来,否则会将变量名后面的部分当做一个整体,引起语法错误 双引号解释转义字符,单引号不解释转 阅读全文
摘要:
服务器共享session的方式 简介 1. 基于NFS的Session共享NFS是Net FileSystem的简称,最早由Sun公司为解决Unix网络主机间的目录共享而研发。这个方案实现最为简单,无需做过多的二次开发,仅需将共享目录服务器mount到各频道服务器的本地session目录即可,缺点是 阅读全文
摘要:
解释性语言和编译性语言区别(简短) 解释性语言和编译性语言的定义: 计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。解释性语言的定义:解释性语言的程序不需要编 阅读全文