From: Kevin Barry (ta0kira_at_[hidden])
Date: 2007-01-15 21:46:49
I currently maintain a very simple C++ template library used to encapsulate objects to protect them from modification except for by authorized accessor objects. These accessor objects are allowed access to the encapsulated objects via a member function they define for the express purpose of processing or viewing those objects. This limits each object with access to a narrow purpose (or at least to a single entry point,) effectively forcing modular (vice procedural) use of the encapsulated objects. All capsules which encapsulate these objects are polymorphically clonable.
I've identified 2 main uses for this library:
1) Passing information between different processing units. Rather than passing data to a static or global function which will perform a procedure, passing encapsulated objects will force that function to strictly perform operations on incoming (or "borrowed") objects using specifically designed modules.
2) Maintaining centralized program data. Encapsulating global/semi-global data in this manner will force auxiliary units to implement concise modules instead of procedural functions to access and use centralized data.
Possible methods of primary encapsulation: copy existing objects into private data members, derive a class to be self-encapsulating, or dynamic polymorphic storage.
I apologize if this description is too long. This is my first encounter with this mailing list. Thank you for your consideration.
Kevin P. Barry
It's here! Your new message!
Get new email alerts with the free Yahoo! Toolbar.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk