One of the main advantages of object-oriented programming is the ability to reuse code. Do one project after another, the team gains experience in the subject area and acquires a variety of helper classes to facilitate everyday tasks. And even when the code is re-used only a few places, developers understand that for such a code has imposed very different requirements. If the application development focuses on ease of maintenance of internal implementation, the development of libraries, he shifted towards the simplicity and ease of use, even at the expense of neglecting some of the ideas of object-oriented design.
In addition, libraries development requires developers to command an entirely different approach to the entire development cycle, from requirements analysis and preparation of functional specifications to complex testing. The book contains a set of rules, guidelines and precautions that should be taken into account when designing the library, and annotations such famous people like Jeffrey Richter, Chris Sells, Anders Hejlsberg, Herb Sutter and others, give a certain liveliness of the discussion and help to better understand what a particular rule .
“Please do not invent anything new in the design libraries. Create your interface libraries so uninteresting as possible. it should be interesting functionality of libraries, but not its interface”
In addition to the obvious benefits to all who are engaged in the development of re-usable components, the book will be useful and easy to developers. It is important to understand that each language or development environment has its own subkultoroy, following which it is necessary not only in the development of large libraries, but also in application development.
A consistent naming, the use of stable patterns and idioms in all of your projects will significantly simplify the implementation and subsequent maintenance. The authors relate to a number of different issues such as selection between the properties and methods between the base classes and interfaces, events, and callback methods, talk about a problem of significant change types and the choice between different types of serialization. We should also mention a remarkable chapter on exceptions. Although this topic is given adequate attention in the literature, exceptions are one of the most difficult and obscure fact for the majority of developers.
“The publishers say that the number of copies sold of the book is inversely proportional to the number of formulas in it. For the developer libraries version of this Act as follows: the number of users who will be using your library is inversely proportional to the number of new operators, the necessary simple usage scenarios “
The book will be useful to any team developers on .Net platform, regardless of the experience and the complexity of tasks. Even if your team has an experienced developer guru, who knows all the rules by heart, the book can serve as a good teacher for less experienced developers. The book can be used directly as a corporate standard development or serve as a basis for its creation, and in the presence of such tools as FxCop, these standards can be automatically checked for all the participants of the project team.