当前位置: 移动技术网 > IT编程>软件设计>设计模式 > Yii2设计模式——Yii2中用到哪些设计模式?

Yii2设计模式——Yii2中用到哪些设计模式?

2018年12月18日  | 移动技术网IT编程  | 我要评论
Yii2框架的设计包含了哪些设计模式?用到了哪些设计原则,本文将概括地为您做下介绍 ...

”yii2设计模式“包含了两个方面的内容:1.设计模式,2.yii2框架。

《设计模式》一书虽然以java语言来表达设计模式的思想,但是设计模式远不限制于某一种特定的语言,而是在面向对象编程中通用的思想,各个语言也都有各自的实现方式。

yii2是一款优秀的php web框架,yii2框架的里里外外都借鉴了很多设计模式的思想。而且,越是yii2内核的部分,设计模式运用的越多。同样的,其他优秀的框架如symphony2/laravel也是如此,学习yii2的设计模式,无疑对认识其他框架,对提高自己编码能力,加深对软件设计的认识都非常有帮助。

yii2设计模式,集中体现在依赖注入(di),服务定位器(service locator),数据库(db),缓存(cache),请求(request),响应(response)等核心组件上。

php设计模式

根据使用目的设计模式一般可为分为三类:

  • 创建型模式(creational patterns)
  • 结构型模式(structural patterns)
  • 行为型模式(behavioral patterns)

具体都有哪些,网上资料随便一搜便出来了,笔者在这里不再列出来。

《设计模式》提到的23中经典设计模式,php都有自己实现的方式,其中有些模式用的并不多,此外php中还有别的一些常用的模式,它们都有:

  • 依赖注入模式(dependencyinjection)

  • 服务定位器模式(servicelocator)

  • mvc模式

  • 对象池模式(pool)

  • 数据访问对象模式(dao)

  • 流接口模式(fluent interface)

  • 规约模式(specification)

  • 委托模式(delegation)

  • repository模式

    ...

yii2设计模式

经笔者的归纳,yii2用到的设计模式主要由下面的这些,根据类型可归纳为:

创建型

  • 单例(singleton)
  • 工厂方法(factorymethod)
  • 抽象工厂(abstractfactory)
  • 建造者(builder)
  • 原型(prototype)
  • 对象池(pool)

行为型

  • 观察者(observer)
  • 策略(strategy)
  • 模板方法(templatemethod)
  • 迭代器(iterator)

结构型

  • 组合(composite)
  • 适配器(adaptor)
  • 桥接(bridge)
  • 装饰器(decorator)
  • 外观(facade)
  • 依赖注入(dependencyinjection)
  • 流接口模式(fluent interface)
  • 数据访问对象模式(dao)

其他

  • 服务定位器(servicelocater)
  • mvc
  • 委托模式(delegation)

yii2中设计模式,有些并不严格遵循《设计模式》中标准的定义和使用方法,甚至有时会表现出很大的差异性。但好在“形散而神不散”,细节虽偶有不同而精髓却是一样的。笔者将会帮助读者发现这些”隐藏极深“的使用技巧。

虽然笔者聊的对象是yii2框架,然而实际目的是使大家熟悉设计模式,顺带的再聊下六大设计原则。最终的目的是提升大家在实际编码中的能力。

最后,给大家推荐一个好的开源项目designpatternsphp,对php所有常用的模式都有介绍和源码。另外,笔者自己的开源项目 也介绍了php常用的设计模式,大家都可结合着学习下。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网