NEM uses some servers as the transaction validators called NIS. User signs the code and then the signed byte is sent over the network which is received and processed by the other servers. If you are not a server then all you need to do is to sign the transaction and send it to the severs and that is why NEM doesn't need a similar script language like bitcoin. However servers should have a complicated mechanism and code to verify transactions.
You can check NEM servers here and anyone with the server software running can be a server.
This creates a server-client architecture which eliminates some processes from the clients.
Resource: Makoto, a NEM core developer