Intended Audience

Ru-Brd

This book is intended for "hands on" C++ developers or advanced students interested in understanding how to design object-oriented frameworks and apply them to develop networked applications. It builds upon material from C++NPv1 that shows how developers can apply patterns to master complexities arising from using native OS APIs to program networked applications. It's therefore important to have a solid grasp of the following topics covered in C++NPv1 before reading this book:

  • Networked application design dimensions, including the alternative communication protocols and data transfer mechanisms discussed in Chapter 1 of C++NPv1

  • Internet programming mechanisms, such as TCP / IP connection management and data transfer APIs [Ste98] discussed in Chapter 2 of C++NPv1

  • Concurrency design dimensions, including the use of processes and threads, iterative versus concurrent versus reactive servers, and threading models [Ste99] discussed in Chapters 5 through 9 of C++NPv1

  • Synchronization techniques necessary to coordinate the interactions of processes and threads on various OS platforms [KSS96, Lew95, Ric97] discussed in Chapter 10 of C++NPv1

  • Object-oriented design and programming techniques [Boo94, Mey97] that can simplify OS APIs and avoid programming mistakes through the use of patterns, such as Wrapper Facade [POSA2] and Proxy [POSA1, GoF] discussed in Chapter 3 and Appendix A of C++NPv1

The ACE frameworks are highly flexible and powerful, due in large part to their use of C++ language features [Bja00]. You should therefore be familiar with C++ class inheritance and virtual functions (dynamic binding) as well as templates (parameterized types) and the mechanisms your compiler(s) offer to instantiate them. ACE provides a great deal of assistance in overcoming differences between C++ compilers. As always, however, you need to know the capabilities of your development tools and how to use them. Knowing your tools makes it easier to follow the source code examples in this book and to build and run them on your systems. Finally, as you read the examples in this book, keep in mind the points noted in Sidebar 7 (page 46) regarding UML diagrams and C++ code.

Ru-Brd


C++ Network Programming
C++ Network Programming, Volume I: Mastering Complexity with ACE and Patterns
ISBN: 0201604647
EAN: 2147483647
Year: 2002
Pages: 65

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net