I’d assume that since the query language sits within the controller (typically) that it belongs to that component, but if I play devil’s advocate I’d argue that the query language is execute within the domain of the model, and is tightly coupled to that component so it might also be a part of it.
Anyone know the answer? Is there a straight answer or is it technology specific?
Both are legitimate ways to implement it. The question is what and how you need to expose your application to its users. In Patterns Of Enterprise Application Architecture (figured again, that I really like to quote that book 😉 they offer two ways to implement the Domain Model:
As a code example: