Object-oriented design and programming are big topics ”there are entire books devoted solely to the process of object-oriented design, and other books devoted to using object-oriented programming in various languages and on various programming platforms. My focus in this book isn't to teach the basics of object-oriented design or programming, but rather to show how to apply them to the creation of distributed .NET applications.
It can be difficult to apply object-oriented design and programming effectively in a physically distributed environment. This chapter is intended to provide a good understanding of the key issues surrounding distributed computing as it relates to object-oriented development. We'll cover a number of topics, including the following:
How logical n- tier architectures help address reuse and maintainability
How physical n-tier architectures impact performance, scalability, security, and fault tolerance
The difference between datacentric vs. object-oriented application models
How object-oriented models help increase code reuse and application maintainability
The effective use of objects in a distributed environment, including the concepts of anchored and unanchored objects
The relationship between an architecture and a framework
This chapter provides an introduction to the concepts and issues surrounding distributed, object-oriented architecture. Then, throughout this book, we'll be exploring an n-tier architecture that may be physically distributed across multiple machines. We'll also be using object-oriented design and programming techniques to implement a framework supporting this architecture. After that, we'll create sample applications to demonstrate how the architecture and the framework support our development efforts.