IoC is a techie term so Locator might make more sense. I guess
everyone is used to see an IoC class (I don't know how many I have in
my projects) because that's what it is technically. Locator is more
domain like sounding. If it's really just a service locator then why
not ServiceLocator? Locator might indicate to me a way of finding
something (not necessarily a service) or locating something on say a
screen layout (e.g. Screen.Locate(myControl) which would return a
Point object)
I waffle between the FindBy(criteria) and FindByCriteria() syntax.
FindByID(Guid ID) almost sounds redundant but if you only look at
FindByID() vs FindBy() you need to know what parameter you're passing
in the second method. From an intention revealing interface, FindBy()
requires the parameter type to know how you're trying to find
something.
In my repositories I try to keep the number of FindByxxx methods to a
minimum so if I see:
FindById
FindByGuid
FindByLastName
FindByFirstName
etc.
I'll look at collapsing some of the finders to:
FindBy(IIdentity id)
FindBy(ISpecification spec)