I was reading a book about Programming Language when I saw the following text:


Put simply, the MVC pattern allows us to separate the concerns of different parts of our application:

• Model (our Domain Data)

• View (User Interface)

• Controller (Requests and Actions)

In fact, to make things even simpler, as we’re developing an API, we won’t even have any View artefacts

It’s also worth noting, in case it wasn’t clear, that the MVC pattern is just that – an application architecture pattern – it is agnostic from technical implementation. As this happens to be a book about a particular technology (.NET Core), we cover how .NET Core implements MVC; however, there are other implementations of the MVC pattern using different frameworks and languages.

I don't know what the highlighted part above means! Does it mean that "it is not related to technical implementations"? Would anybody explain it to me please?

1 Answer 1


The word agnostic comes from the Greek a-, meaning without and gnōsis, meaning knowledge. In IT, that translates to the ability of something to function without “knowing” the underlying details of a system that it is working within.

The Oxford dictionary gave the following for "agonistic" under computing:

denoting or relating to hardware or software that is compatible with many types of platform or operating system

So in your context, it means the application architecture pattern (I'm assuming so) is compatible/interoperable with the technical implementation.

The sentence you gave is actually quite odd, and I think it should go something along the lines of the below

It’s also worth noting, in case it wasn’t clear, that the MVC pattern is just an application architecture pattern which is agnostic with/towards technical implementation.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .