您的位置:首页 > 编程语言 > PHP开发

详解PHP设计模式之设计模式类别

2018-03-05 17:23 691 查看
        MVC是设计模式开发中很重要的一点,不过这还只是一个起点。对于编程中MVC的使用、误用和滥用,已经有大量相关的文档做过介绍。总的来说,设计模式是按照作用和范围来组织的,设计模式的作用可以分为3大类:

创建型
结构型
行为型
        这种分类页反映了一般所人为的模式所要完成的目标。

        设计模式按照范围划分可以分为两大类:


对象
        本篇博文将简要介绍这些类别划分,并解释这样划分对于选择和理解设计模式的好处。

创建型模式

        顾名思义,创建型模式就是用来创建对象的模式。更确切地讲,这些模式是对实例化过程的抽象。如果程序越来越依赖组合,就会减少对硬编码实例化的依赖,而更多地依赖于一组灵活的行为,这些行为可以组织到一个更为复杂的集合中。创建型模式提供了一些方法来封装系统使用的具体类的有关知识,还可以隐藏实例创建和组合的相关信息。

结构型模式

        这些模式所关心的是组合结构应当保证结构化。结构型模式(structural class patterns)采用继承来组合接口或实现。结构型对象模式则描述了组合对象来建立新功能的方法。了解结构型模式对于理解和使用相互关联的类很有帮助。

行为型模式

        到目前为止,绝大多数模式都是行为型对象,这些模式的核心是算法和对象之间职责的分配。这些设计模式描述的不只是对象或类的模式,它们还描述了类和对象之间的通信模式。

类模式

        在两类范围中,第一类范围是类。这些类模式的重点在于类及其子类之间的关系。类范围中包含四种模式,类模式是静态的。

对象模式

        尽管大多数设计模式都属于对象范围,不过与类范围中的那些模式一样,很多模式也会使用集成。对象设计模式与类模式的区别在于,对象模式强调的是可以在运行时改变的对象,因此这些写模式更具动态性。

设计模式与框架的区别

        与框架相比,设计模式是体系结构中更小的元素,也更为抽象。另外,设计模式没有框架那么特定。因此,设计模式更可重用,也比框架灵活。

        框架的有点与模板有些类似:它们更有指示性,可以更清楚地指示所解决问题的结构。为了提供这种易用性,它们不得不放弃了体系结构的灵活性,如果使用框架,构建应用会快得多,但是所构建的应用会受到框架本身的约束。框架可以半酣面向对象结构,通常框架是分层的,每一层处理更大设计中的一个方面。框架的一些特性在设计模式中也有体现,不过,设计模式没有框架那么特定和具体,也没有那么庞大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息