All fragments share fundamental properties such as basic structure and method of addressing code and data. The major advantage of a fragment-based architecture is that a fragment can easily access code or data contained in another fragment. For example, a fragment can import routines or data items from another fragment or export them for another fragment's use. In addition, fragments that export items may be shared among multiple clients. The term fragment is not intended to suggest that the block of code and data is in any way either small, detached, or incomplete.
Fragments can be of virtually any size, and they are complete, executable entities.
The Code Fragment Manager handles fragment preparation , which involves bringing a fragment into memory and making it ready for execution. Fragments can be grouped by use into applications and shared libraries, but fundamentally the Code Fragment Manager treats them alike. Fragment-based applications are launched from the Finder. Typically they have a user interface and use event-driven programming to control their execution. A shared library, however, is a fragment that exports code and data for use by other fragments.