Show
Ignore:
Timestamp:
10.12.2015 12:19:20 (4 years ago)
Author:
jmt12
Message:

Continuing to refactor driver code to move shared code up to parent classes. Have all the basic drivers done...

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • gs2-extensions/tdb/trunk/perllib/DBDrivers/Readme.txt

    r30331 r30347  
    11===== DBDriver ===== 
     2 
     3Note that there are a couple of Drivers that could be further separated to 
     4have even better OO, but I started to get bogged down in multiple inheritence 
     5problems so I left them as is for now. For instance, separating PipedExecutable 
     6support from the 70HyphenFormat driver would increase flexibility, but then it 
     7becomes tricky to say which should inherit from which (in a single inheritence) 
     8or what order methods should be resolved (in multiple inheritence). 
    29 
    310==== Inheritence Overview ==== 
    411 
    5   * BaseDBDriver - superclass of all drivers. Some shared utility methods. 
    6     * PipedDrivers - drivers that write and read their data via pipes to external executables. Data is in simple Greenstone archive form (i.e. key/value pairs and separated by seventy hyphens) 
     12  * BaseDBDriver - superclass of all drivers. Some shared utility methods 
     13                   including support for persistent connections (ala TDB). 
     14           Thus this is a candidate for separating out the the 
     15           PersistentConnectionsDriver. 
     16    * 70HyphenFormat - drivers that write and read their data via pipes to 
     17                       external executables. Data is in simple Greenstone 
     18               archive form (i.e. key/value pairs and separated by 
     19               seventy hyphens) - this is a candidate for further 
     20               separating out a PipedExecutableDriver. 
    721      * GDBM - makes use of GDBM utils (txt2db, db2txt etc) 
    822      * GDBMTXTGZ - makes use of gzip (for later use with GDBM)