Navigation:  Application Architecture > Putting it All Together >

Designing a Tool

Previous pageReturn to chapter overviewNext page

We will create a class for the tool called TextEditorLaunchTool, that extends DesktopToolExtensionPoint.

 

[ExtensionOf(typeof (DesktopToolExtensionPoint))]

public class TextEditorLaunchTool : Tool<IDesktopToolContext>

{

   public TextEditorLaunchTool() {}

}

 

We know that our tool class must implement ITool in order to satisfy the requirements of the extension point.  However, implementing ITool directly is not a recommended practice.  Instead, our tool should extend the abstract base class Tool that provides some of the boiler-plate implementation of ITool already.

Recall that every tool extension point has a corresponding context interface that defines what tools will be able to do.  Note that Tool is a generic class that takes the tool context interface type as its parameter.