Author: david++
Publish Time: 2012/06/08 09:02
Article Address: http://game-lab.org/?p=320
Nearly two months learning ace, a super powerful, also super Complex network Framework library. The name of ace has long been heard, but also heard of its complexity, so has been afraid to touch it. Ace to the programmer's requirements are relatively high, need to C + +, design patterns, POSA, network, concurrency and so have some understanding, to touch it. Otherwise really is a plunge into the vast sea, the more look more complex, until the end of all the enthusiasm for ace.
After two months of groping, find a variety of materials, and finally know how to learn the Ace (ACE) basic Ace, after some experience, will be instantly shared on the blog. Here are a few references to learn Ace Essentials.
C + + Network programming: Using Aces and patterns to eliminate complexity volume 1 (abbreviation: C++NPV1)
This should be the first book you need to know about Ace, this book puts forward the research on network problem of ACE author, which is divided into four design spaces: network, concurrency, service, configuration. The core of the book is about the development of networks and concurrent applications, and the corresponding Wrapper facade Class of aces, and uses a log server instance as a demonstration to implement the log server in a number of ways (instance code see, Ace_wrapper/examples/c++ NPV1). (about wrapper facade model can refer to "POSA Volume 2", the specific advantages and disadvantages are not discussed here).
C + + Network programming: a systematic reuse of volume 2 based on Aces and Frameworks (abbreviated as: C++npv2)
The core content of this book is mainly about the four design spaces in the C++NPV1: Server design space and configuration design space, and Ace wrapper facade-based framework implementation. such as: Connector-acceptor, Reactor, Proactor, Stream, Service Configurator and so on. The frame layer corresponding to the ACE.
Ace Programmer's Guide: Using Design patterns for network and system programming (abbreviation: APG)
Reading APG, you can have an overall understanding of ACE, wrapper layer, the framework layer is involved. But this book only describes the usage, so a lot of places than the "C++npv1" and "C++npv2" deep, you can use this book as the first book.
"Schema-Oriented Software architecture: Network and concurrency Mode Volume 2" (Abbreviation: POSAV2)
The second book of the Posa series, written by Ace author Douglas C Schmidt and three network development communities, summarizes network and concurrency-related patterns based on the experience of developing network applications. Many patterns read, clairvoyant. The paper puts forward the corresponding pattern solution to all the difficulties in the network application development. Because ACE uses a lot of network, concurrent architecture pattern, can find the corresponding description and explanation in this book. As a server-side developer (in this case, the underlying framework rather than the application logic development), the book must be read and a deep understanding of the patterns mentioned.
Ace related Proceedings (online information, no corresponding publication)
The following information is organized by some people who love ace on the Internet. Because Ace has a very big impact on the development of network programs, Douglas C Schmidt and his ace lover have written many papers on Ace and have used ace to make a lot of application examples. (most instances can be found in the ACE source directory under the example, App directory)
- Essays on-ace Technology
- Medium-ace Programmer's Tutorial
- Next-ace Application Example
Summary and recommendations
Given the strength and complexity of ACE, many people will be deterred by this. But as a strong and profound network development toolkit, it is necessary to study a good, even if it will not be used to directly do the development, but the design ideas and design, architecture model for our future server architecture and Development has a great help. I will also under this belief, continue to learn ace, and learn about Web server development knowledge, some experience, will be timely to share. Also just found a learning ace route, hope will persist, write down this chapter is the first step.
For ace, reading is certainly not possible, be sure to read the code of ACE, just start learning, the best start is ace_wrapper/examples.
adhere to, adhere to, and then adhere to! ACE, be sure to take care of it! I hope that the book on Ace recommended in this article will be helpful to web developers!
Every Monday recommended: Learn ace must read book