usr/src/doc/rad-dev/c-concepts.xml
author Stephen Talley <stephen.talley@oracle.com>
Tue, 19 Jun 2012 17:37:39 -0400
changeset 865 025928ac8888
parent 819 d2f77a136379
permissions -rw-r--r--
rad dev guide changes for api<->interface rename

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<!--
	PDL HEADER START

	Public Documentation License Notice

	The contents of this Documentation are subject to the Public
	Documentation License Version 1.01 (the "License"); you may only
	use this Documentation if you comply with the terms of this License.
	A copy of the License is available at
	http://www.opensolaris.org/os/community/documentation/license.

	PDL HEADER END

	Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
-->

<chapter xmlns:xi="http://www.w3.org/2001/XInclude"><title>Concepts</title>

<!-- Overview -->

<section><title>Overview</title>
<para>
The three concepts most fundamental to <command>rad</command> are
<emphasis>interfaces</emphasis>, objects that implement those
interfaces, and the namespace in which those objects can
be found and operated upon.  An interface defines
how a <command>rad</command> client can interact with an object.  An
object implements an interface, providing a concrete
behavior to be invoked when a client makes a request.  Lastly, the
namespace acts as <command>rad</command>'s gatekeeper, associating a
name with each object, dispatching requests to the proper object, and
providing meta-operations that let the client make queries about what
objects are available and what interfaces they implement.
</para>

<para>
Before discussing these three concepts any further, though, it is
important to understand a fourth: data and the typing system used by
<command>rad</command>.
</para>
</section>

    <!-- Section: Data -->

    <xi:include href="c-concepts-data.xml" />

    <!-- Section: APIs -->
<!-- Interfaces -->
<!-- - Methods -->
<!-- - Properties -->
<!-- - Events -->

    <xi:include href="c-concepts-apis.xml" />

    <!-- Section: Namespace -->
<!-- Namespace -->
<!-- - Names -->
<!-- - Objects -->
<!-- - Operations -->

    <xi:include href="c-concepts-namespace.xml" />

</chapter>