When we focus more on data rather than functions, we are adopting an object-oriented system design approach. Here we deal with our system as a composition of many independent real-world entities called objects that intercommunicate with different methods. In this section, we will discuss different strategies of object-oriented system design.