Serialization and Persistent Objects
Recently, the pressure for fast processing and efficient storage of large data with complex relations increased beyond the capability of traditional databases. Typical examples include iPhone applications, computer aided design – both electrical and mechanical, biochemistry applications, and incremental compilers. Serialization, which is sometimes used in such situations is notoriously tedious and error prone.
In this book, Jiri Soukup and Petr Machácek show in detail how to write programs which store their internal data automatically and transparently to disk. Together with special data structure libraries which treat relations among objects as first-class entities, and with a UML class-diagram generator, the core application code is much simplified. The benchmark chapter shows a typical example where persistent data is faster by the order of magnitude than with a traditional database, in both traversing and accessing the data.
The authors explore and exploit advanced features of object-oriented languages in a depth hardly seen in print before. Yet, you as a reader need only a basic knowledge of C++, Java, C#, or Objective C. These languages are quite similar with respect to persistency, and the authors explain their differences where necessary.
The book targets professional programmers working on any industry applications, it teaches you how to design your own persistent data or how to use the existing packages efficiently. Researchers in areas like language design, compiler construction, performance evaluation, and no-SQL applications will find a wealth of novel ideas and valuable implementation tips. Under http://www.codefarms.com/book, you will find a blog and other information, including a downloadable zip file with the sources of all the listings that are longer than just a few lines – ready to compile and run.
Presents a software design style which combines automatically persistent data, UML class-diagram generator, and class libraries which support intrusive data structuresCovers the most popular object-oriented languages (C++, C#, Java, Objective C)Includes tricks and hints for efficient implementationsIs complemented by a website with downloadable code samples