This chapter introduces the basic mechanisms of object-oriented programming, in particular some idioms and patterns that will likely occur in actual system develpment. This chapter does require some experience with object-oriented programming, in Java or C++. Most of the code snippets are fairly simple, and are meant for illustration only.