May 27, 2019
Hot Topics:

More articles by Radu Braniste

Strategy Pattern: A Generic Programming Perspective

What happens if the Context becomes a hierarchy? How do you keep track of the real type of the TaxPayer inside TaxStrategy without downcasting? You'll find several answers here from a Generic Programming perspective.

Examples in Event Dispatching

Learn how dispatchers can be stacked in layers and how events can be selectively sent to certain levels only or broadcasted. Two illustrative implementations are presented: a basic one introducing the main concepts, later refactored in a more refined implementation.

Event Dispatching: One Size Doesn't Fit All

Discover the possible implementations of a type safe event dispatching mechanism, based on the Multicast pattern, in the context of single-layered and multilayered receptors.

The Story of a WML Generator

Explore a flexible, compile-time safe way of generating WML and WML-like dialects code. Two contrasting solutions are discussed—one relying on C# without generics and the other one on C++.

To Switch or Not to Switch

Analyze the concepts behind using "switch" statements in C++ and the patterns associated with them. Then review possible designs of a more generic "switch" together with a way of extending classes based on versioning.

C++ Idioms in BREW: Better Interfaces

Interfaces are apparently a simple subject, already well supported by the core language via the pure virtual construct. But, as you will see, when thriving for efficiency, 'classic' interfaces might be a drag.

A Flexible, Compile Time, Configurable XML Parser

Discover a simple XML parser fully configurable at compile time. Type safe techniques for selecting properties and enforcing behavior are presented as part of the policies support.

Inter-Application Communication in BREW

Find answers to puzzling questions such as How can two or more processes exchange information in BREW?, When should you use IAC? What are the design considerations?, and How does one create and use services in BREW?

C++ Idioms in BREW, Part 2

For the sake of simplicity, BREW doesn't hide all the details of the operating system; developers are forced to take additional responsibility. Take advantage of a key BREW design pattern to help you work through this.

Discovering C++ Idioms in BREW

Explore idioms (low-level patterns specific to one language) such as 'Stack Starvation', 'EverLoad', and 'Static Is Dynamic' to build your BREW applications.

Small Memory Allocation, Part 3

Review Reference Counting and other useful memory-related patterns.

Small Memory Allocation-Part 2

Focus on memory deallocation and memory exhaustion, testing useful techniques such as smart pointers [2, 3, 5]. Also see where POD and non-POD smart pointers get involved.

Small Memory Allocation

Both heap and stack memory are scarce resources in BREW, thus memory allocation is of paramount importance. Review the main techniques and some of the 'usual suspects' and possible solutions to memory fragmentation, access speed, and exhaustion issues.

Brew & J2ME: Let's Be Friends! Part 2

Develop BREW applications using an API that provides automatic memory management and that is similar to the J2ME development model.

BREW & J2ME: Let's Be Friends!

Discover how to narrow the gap between BREW and J2ME as well as learn insight into the design process for using these technologies.

For Brew Developers, There Are New Kids in Town: IThread & IRscPool, Part 2

Learn the virtues of cooperative multithreading — you will learn to find, wait, and notify.

For Brew Developers, There Are New Kids in Town: IThread & IRscPool

Learn the value and limitations of BREW's new cooperatively scheduled multithreading support as well BREW's new interface capable of controlling the lifetime of associated resources.

A GCF for BREW: Working with File I/O & Network Resources

Learn how to handle file I/O and network resources on BREW from a Generic Connection Framework (GCF) perspective.

A Generic Connection Framework for BREW

Examine the intricacies of the asynchronous programming model and develop tools to help establish a common ground for I/O and network operations on BREW. See how to encapsulate this commonality into a framework.

String in BREW Revisited-a BrewString Generalization

Discover a String implementation for BREW that freely uses both char and AECHAR data types. This is actually a generalization of BrewString that allows strings, wide strings, char and AECHAR arrays to be mixed together.

Utility Libraries for BREW-Compilation Pitfalls

Learn how to avoid possible problems you can encounter when compiling the BREW utility library using ARM ADS1.x. An ADS1.0.1 conformant library is included for downloading.

Utility Libraries for BREW - A Hash Table Class

Delve into the implementation of a hash table together with an XML parser using BREW.

Utility Libraries for BREW - A Vector Class

Analyze the intricacies of a vector class in BREW while focusing on efficiency, safety, and other special features. Also examine how to avoid the code bloat usually associated with general purpose containers.

Utility Libraries for BREW - A String Class

Examine the string library in the BREW SDK. This article is the first in a series that will present possible implementations of utility libraries in BREW.

Cooperative Multitasking in BREW: A Possible Solution

BREW is an event-based execution environment with no support for multithreading. This article introduces an implementation of cooperative multitasking in the BREW environment to get around this complicated, non-trivial problem.

Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

Thanks for your registration, follow us on our social networks to keep up-to-date