The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

ResourcePool::UML - UML diagram for the ResourcePool package

SYNOPSIS

This UML Diagram uses DBI as an example Resource. Other Resources are handled in the same way.

              +---------------------------------+
              | ResourcePool::LoadBalancer      |
              +---------------------------------+
              +---------------------------------+
              | +new(key, options)              |
              | +add_pool(pool, options)        |
              +---------------------------------+
                                |
                                |
                                V      +---------------+
              +------------------------+ PlainResource |
              | ResourcePool           +--------+------+
              +---------------------------------+
              | -factory: ResourcePool::Factory +--+
           +--+ -pool: ResourcePool::Resource   |  |
           |  +---------------------------------+  |
           |  | +new(fatory,options)            |  |
           |  | +get():PlainResource            |  |
           |  | +free(plainresource)            |  |
           |  | +fail(plainresource)            |  |
           |  +---------------------------------+  |
           |                    |                  |
           |                   / \                 |
           |  +---------------------------------+  |
           |  | ResourcePool::Singleton         |  |
           |  +---------------------------------+  |
           |  +---------------------------------+  |
           |  +---------------------------------+  |
           V                                       V
 +-----------------------------+  +-----------------------------+
 | ResourcePool::Resource::DBI |  | ResourcePool::Factory::DBI  |
 +-----------------------------+  +-----------------------------+
 | #dbh                        |  | -ds                         |
 +-----------------------------+  | -user                       |
 | +new(ds, user, auth, attr)  |  | -auth                       |
 | +get_plain_resource()       |  | -attr                       |
 | +close()                    |  +-----------------------------+
 | +fail_close()               |  | +new(ds, user, auth, attr)  |
 | +precheck()                 |  | +create_resource()          |
 | +postcheck()                |  +-----------------------------+
 +-----------------------------+                 |
                |                                |
               / \                              / \
 +-----------------------------+  +-----------------------------+
 | ResourcePool::Resource      |  | ResourcePool::Factory       |
 +-----------------------------+  +-----------------------------+
 +-----------------------------+  +-----------------------------+
 | +new()                      |  | +new(key)                   |
 | +get_plain_resource()       |  | +create_Resource()          |
 | +close()                    |  +-----------------------------+
 | +fail_close()               |                 |
 | +precheck()                 |                 |
 | +postcheck()                |                / \
 +-----------------------------+  +-----------------------------+
                                  | ResourcePool::Singleton     |
                                  +-----------------------------+
                                  +-----------------------------+
                                  +-----------------------------+

SEE ALSO

ResourcePool, ResourcePool::Resource::DBI, ResourcePool::Resource::Net::LDAP

AUTHOR

    Copyright (C) 2001-2009 by Markus Winand <mws@fatalmind.com>

    This program is free software; you can redistribute it and/or
    modify it under the same terms as Perl itself.