Skip to content

artecfeng/phpdesign

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

php设计模式

工厂模式

使用工厂方法或类生成对象,替代直接new

单例模式

对象只允许创建一个

注册模式

全局共享和交换对象,工厂类将对象注册到注册类中

适配器模式

将不同的函数接口封装成统一的api,比如多数据库封装成统一接口

策略模式

将一组特定的行为和算法封装成类,以适应某些特定的上下文环境
一个网站,根据男性和女性各自跳转到不同页面,并展示不同的广告
如果用if  swhich case 则算硬编码
如果要增加其它类型判断,则所有if地方都要修改
如果用策略模式,只需要增加一种策略即可

观察者模式

当一个对象状态发生改变时,依赖它的全部对象都会收到通知
例如:注册模块,开始只是账户密码,后来新增短信验证,邮件验证
    这些

Releases

No releases published

Packages

No packages published

Languages