7.6 SUMMARY

Patterns are powerful tools in object-oriented programming. They solve most software problems that we may encounter in designing our trading platform. In them, we will find elegant and time-tested ideas that we can reuse. Unless we are aware of the existence of such a vast repository of design ideas, we may spend many days and months reinventing the wheel and figuring out new solutions to problems already solved. Design patterns are also likely to be more robust solutions than the ad hoc ideas we may come up with on our own.

To go one step further and to deploy solutions that can operate over the programming language barriers, we need to use powerful software technologies like the component object model (COM). In COM, the code reuse is at the binary compatibility level, where the component objects are dynamically shared at run-time. This mode of sharing gives the developers the freedom to choose implementation languages (within reason) specific and most appropriate to the task at hand. They may like to use C# for user interface designs, Java for web-based deployments, C++ for number-crunching situations, and so on.

Although we can improve the robustness of our software solutions through design patterns, we have to be careful in choosing the right pattern appropriate in solving the problem at hand. We have to evaluate the situation thoroughly from as many perspectives as we can anticipate before we choose the software solution, which is why we went through the myriad ...

Get Principles of Quantitative Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.