Interfaces are the essence of most design patterns described in this book. Interfaces define the roles and determine the relationships of design pattern object participants. The design patterns featured in this book are implemented using Microsoft Visual Basic, which is possible only because the object-oriented language features in Visual Basic depend on COM and ActiveX. That said, interfaces are a cornerstone of the COM specification, which requires a formal abstraction of interface from implementation. It is therefore crucial to understand and appreciate how interfaces impact a system. This appendix briefly explains the following topics:
For more information on these topics, refer to Ted Pattison's book Programming Distributed Applications with COM and Microsoft Visual Basic 6.0 and the article "Visual Basic Design Time Techniques to Prevent Runtime Version Conflicts," both of which are cited in the bibliography.