ACS:
The Apple Class Suites


During the redesign of MacApp the common base class, TObject, was removed. This was a lot like taking a tree and lopping off most of the trunk. There was still quite a bit of the tree left but many of the limbs fell to the ground. In MacApp's case, many of these 'limbs' and 'brancjes' were collected together into related 'suites' and placed into a companion to MacApp called ACS, an acronym for "Apple Class Suites."

Naming Conventions

As you scan the various suites contained in ACS you might notice that some suites names are capitalized while others are not. This convention differentiates between suites which are low-level suites that normally rely only on the core suite and those suites which are higher level. The capitalized suites are 'major' suites that implement a significant feature requiring quite a bit of code and will rely on several other suites, high- or low-level.

You will also notice that all source code file contained in the various ACS suites all have '_AC' appended to their names just before the extensions.

Also, the names of all classes and structs and many of the other public components in ACS have the '_AC' suffix.

(We used a suffix instead of a prefix to facilitate type-ahead in your favorite source code browser.)

The Suites

ALOE

A suite containing classes required to provide 'container' support for OpenDoc.

This is non-final software and is currently not supported. In fact, support for ALOE may be eliminated in future versions.

Appearance

A suite which provided high-level abstractions required for supporting Apple's Platinum Appearance. It also provides support for presenting a Platinum appearance even on Macintosh systems lacking the Appearance Manager.

containers

A suite providing a variety of containers such as lists and dynamic arrays based on the earlier MacApp classes providing the same functionality.

core

A suite of 'core' abstractions and classes at a relatively lower-level. This includes our exception classes, auto-pointers, general purpose types, auto-switches, etc.

files

This suite contains classes representing files, file specs, etc. based on the earlier MacApp classes providing the same functionality.

imaging

This suite contains classes representing common geometric entities such as points, rects, and regions. Many of these classes are based on the MacApp geometry and imaging utilities and classes including CRGBColor and CGDIterator.

Network

This is a major suite containing classes which implement common network and internet protocols and strategies.

patterns

This suite contains many 'pattern' classes which implement strategies such as described in Design Patterns by Gamma, et al.

streams

A suite of classes implementing various stream classes, derived from earlier MacApp classes providing similar functionality.

text

This is a very small suite which currently contains a text parser class.

TextEditor

This is another very small suite which contains an abstraction for describing text styles.

Threads

Another major suite of classes which provide a simple, Java-like thread implementation which supports both cooperative and MP threads.

TidyHeap

An important support suite which contains classes which provide a variety of allocation and memory protection tools. Read the excellent MacTech article on TidyHeap.

Note: Please check the documentation folder found in ":ACS:Suites:TidyHeap:" for an article which describes the TidyHeap tool and its usage.

toolbox

This suite contains a set of classes which generally represent key portions of the Macintosh toolbox such as the clipboard.


Back to the Index



© Copyright 1997 by Apple Computer, Inc. -- Last Updated 7/15/97