Skip to Content
Common Design Patterns for Symbian OS: The Foundations of Smartphone Software
book

Common Design Patterns for Symbian OS: The Foundations of Smartphone Software

by Adrian A. I. Issott
December 2008
Intermediate to advanced
443 pages
10h 24m
English
Wiley
Content preview from Common Design Patterns for Symbian OS: The Foundations of Smartphone Software

9.2. Singleton

Intent

Ensure a class has only one instance and provide a global point of access to it.

AKA

Highlander[]

[] Thanks to Mal Minhas and Mark Jacobs for this alternative name, which is inspired by the movie of the same name, the tag of which is 'There can be only one'.

9.2.1. Problem

9.2.1.1. Context

You wish to 'ensure a class only has one instance and provide a global point of access to it.' [Gamma et al., 1994]

9.2.1.2. Summary
  • A single instance of a class is required by a component or even the whole system. For example, to provide a single point of access to a physical device, such as a camera, or to a resource or resource pool, such as a logging object, a thread or a block of memory.[]

    [] See Pooled Allocation [Weir and Noble, 2000].

  • A way of synchronizing access to the single instance may be needed if you wish it to be in scope for different parts of a system and used by several threads or processes.

  • Instantiation of the object should controllable. Instantiation should either be deferred until the first time it is needed, or the object should be instantiated in advance of other objects, to ensure a particular order of initialization.

9.2.1.3. Description

This pattern is one of the simplest design patterns and arguably the most popular pattern found in [Gamma et al., 1994]. Hence in this discussion, rather than examine the pattern in itself, we place emphasis on how to implement it on Symbian OS, covering a range of different circumstances. For detailed discussion ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

PHP 7: Real World Application Development

PHP 7: Real World Application Development

Doug Bierer, Altaf Hussain, Branko Ajzele

Publisher Resources

ISBN: 9780470516355Purchase book