title: Protocol Naming in Objective C
body: <p>I'm struggling with naming protocols in Objective-C. For example:</p>
  
  <p>I have a protocol called Command.
  I have an abstract class that implements Command that is a base class for my concrete Commands.</p>
  
  <p>I believe it is possible to call both the protocol and the base class 'Command' but this is confusing and will cause import clashes if I need to reference the protocol in an implementation. I also understand that in Objective C, using a prefix to denote a protocol is bad form. Some examples use 'ing' added to the end, but in this instance that makes no sense. Calling the abstract class 'CommandBase' seems wrong as well.</p>
  
  <p>So how should I name them?</p>