Day 27:Design Pattern in JUCE

细看 JUCE 框架的设计,可以看到一些 Design Pattern 实例。本文列出几个。

Singleton

Singleton 带来的副作用,理论上能不用就不用,但其带来的便利,实务上却是很难避开。JUCE 有一些组件以 Singleton 实作:

  • MessageManager 中的 getInstance 函数回传 MessageManager 物件
  • JUCE GUI 应用程序继承了 juce::Application,此类别又继承了 JUCEApplicationBase,其 getInstance 函数回传唯一的 juce::ApplicationBase 物件

Observer

几乎每一个 JUCE GUI Component 都定义了 Listener 介面,用来接收 Component 的状态变化。一个 Component 可以有多个 Listener 物件,即为 Component 之 Observer。

Publisher–subscriber

ChangeBroadcaster 定义的 Publisher 介面,减化实作细节。而 ChangeListener 则定义了 Subscriber 介面,让开发者专注在收到通知时的逻辑。

Factory

AudioDeviceManager 用来产生 Audio 装置相关物件。


<<:  [神经机器翻译理论与实作] Google Translate的神奇武器- Seq2Seq (II)

>>:  D27 第十四周 (回忆篇)

Day 12 - 阵列 b

简介 上一篇介绍了一维阵列的用法还有如何宣告,今天就来介绍二维阵列 还有一些我们在写 code 时需...

[Day 23] 资料分布与离群值处理

资料分布与离群值处理 今日学习目标 资料特徵观察与离群值分析 检视资料的分布状态 偏度 (Skewn...

Day17 Vue Component(元件)

元件(Component)是Vue里主要也是最强大的特性之一,它提供了THML DOM元素的扩充性,...

Day 18. Zabbix 整合仪表板介绍

Hi 大家今天介绍 Dashboard 的功能,30 天到现在还没有大家介绍说到底是否有警报。 对於...

Day10_脑细胞死光光的一天…

└第九章、绩效评估 9.1监视、量测、分析与评估 • 监视>通常主管会盯啦,每周进度报告这样。...