The extending ArcObjects share the same underlying programming API with the add-in approach. However, they differ in the approach of deploying the application and at the level of flexibility offered to customize ArcGIS. With extending ArcObjects, you usually have to do more work. For example, setting up the toolbar and button in the add-in approach is done with a wizard. However, in the extending ArcObjects approach, you will need to write code to set up your toolbar. Despite that extra work, there is rewarding part in extending ArcObjects, and that is the degree of the flexibility opened to the developer to do great stuff, as we will see in Chapter 7, Advanced Searching.
Before we dive into the coding part, we need to do some preparation for our new project.