O'Reilly logo

C# for Financial Markets by Andrea Germani, Daniel J. Duffy

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

18

Software Architectures and Patterns for Pricing Applications

18.1 INTRODUCTION AND OBJECTIVES

The goal of this chapter is to describe what design patterns are, their origins and a number of new developments in the years since the Gamma patterns book (GOF 1995) was published. We also describe how C# supports and extends the GOF patterns. There are twenty-three documented patterns in GOF 1995. In our experience we have found that a small subset of these patterns is most useful over a range of applications, as we discuss in Section 18.2. The GOF patterns are based on the principles of object-oriented inheritance, subtype polymorphism and composition. There has been a lot of discussion (at times, quite subjective and emotive) of the perceived benefits and potential risks associated with the introduction of design patterns in complex software systems. We give a number of personal (and possibly subjective) observations on the matter:

  • Design patterns are solutions to problems and they should not be used as an objective in themselves.
  • We need to determine the level of software flexibility that we wish to achieve before we embark on a patterns-based design. For example, you probably do not need to use patterns if you are developing a proof-of-concept throwaway prototype. It is for this reason that we think that there is not much point in using classes, objects and patterns in Matlab projects.
  • Even when they are useful, some developers may prefer not to use design patterns. It is important ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required