One of my favorite patterns is the "Template method pattern".
Basically its about having a abstract class that defines common behaviour with points that can be customizable.
Yesterday I was refactoring alot of classes tha't didn't make use of the template pattern, but they all inherited from the same base-class. The base-class acted more like a common place for methods that all objects needed.
Let me show you some code that I had before the refactoring.
public class QuestionQuery : QueryBui... (more)