随笔分类 - 设计模式
摘要:参考书籍《C++11工程级应用》第16章 事件驱动设计在服务器开发中非常流行,其中常见的有两种:反应器(Reactor)和主动器(Proactor) 1. 反应器 反应器需要应用程序先注册事件处理器,然后启动反应器的事件循环,不断地检查是否有就绪地I/O事件,当有就绪事件时,同步事件多路分解器将会返
阅读全文
摘要:参考书籍《nginx完全开发指南:使用C、C#和OpenResty》 PS:这里的分类只是依据模式在Nginx里的应用的层次,模式本身应用并无限制。即使这样,这种划分也不一定精准,有的模式可能跨越两个层次。所以这样的分类只是方便理解和阅读。另外,GoF设计模式原本是用来描述面向对象开发中遇到的场景的
阅读全文
摘要:行为型模式关注系统中对象之间的相互交互,研究系统在运行时对象之间的相互通信与协作,进一步明确对象的职责。行为型模式是GoF设计模式中最为庞大的一种模式,它包括11种设计模式。 今天就让我们一起来揭开行为型模式神秘的面纱。 一、职责链模式 Chain of Responsibility Pattern
阅读全文
摘要:今天我们要讲的是结构型模式,在GoF的23种设计模式中,结构型占7种。 结构型模式(Structural Pattern)描述如何将类或者对象结合在一起形成更大的结构。 结构型模式描述了两种东西,类和类的实例(即对象)。所以结构型模式可以分两种,类结构型模式和对象结构型模式。类结构型模式关心类的组合
阅读全文
摘要:前言: 模式起源于建筑业,最早由美国的Alexander博士提出。Alexander给出了模式的经典定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,我们可以无数次地重用那些已有的解决方案,无须再重复相同的工作。 这个定义也可以简单地用一句话表示
阅读全文
摘要:面向对象设计原则是学习设计模式的基础,每一种设计模式都符合一种或多种面向对象设计原则。遵循这些设计原则可以有效地提高系统的可复用性和可维护性。另外,面向对象设计原则和设计模式也是对系统进行合理重构的指南针,关于重构可以参考这本书:Refactoring Improving the Design of
阅读全文