By convention classes are often named like nouns, methods like verbs and interfaces like adjectives.
What is the common naming convention for a delegate? Or what's a good way to differentiate its name when delegates are listed among types and other things?
My immediate assumption is to name a delegate more likely an adjective because a single method interface can often be replaced with a delegate.
Some thoughts:
delegate object ValueExtracting(object container);
delegate object ValueExtractor(object container);
delegate object ValueExtractionHandling(object container);
delegate object ValueExtractionHandler(object container);
Personally I use a couple of different patterns:
[Task][State]Handler
- UITaskFinishedHandler
[Event]Handler
- ControlLoadedHandler
[Function Name]Delegate
- DoSomeWorkDelegate - used when I need to create a delegate for calling a function on a different/new thread
[Task]Callback
- ContainerLoadedCallback - used when control A starts an action which control B does most of the work and control A has passed a dependency in to control B (i.e. ControlA may have passed a UI container for ControlB to fill and needs notification to actually show the container)
When you have a project that uses a lot of multi threading or async WCF calls you can end up with a lot of delegates floating around, so it is important to adopt a standard that at least makes sense to you.