I think that you should always adhere to some reference to the pattern in its name, where it makes it meaningful and descriptive.
Templates are a means of communication. If I find code that is XyzVisitor, I know that the visitor pattern has been used. With nothing else, the name passed a whole stack of information about how the code works (or should work).
However, sometimes it would be a little strange. For instance. DatabaseSingleton. While AccountRefreshCommand fits pretty well.
source share