This appendix is a follow-on to our discussions regarding the accidental complexities associated with using native OS APIs and how ACE resolves them using the Wrapper Facade pattern. We summarize the design principles that underlie the ACE IPC and concurrency wrapper facade classes so that you can follow and adapt them to your own projects. Hopefully, you can apply them to design and develop future classes for inclusion in ACE!
In this appendix, we describe the following principles applied throughout the design of the ACE wrapper facades:
• Use wrapper facades to enhance type safety.
• Simplify for the common case.
• Use hierarchies to enhance design clarity and ...