farm指田野,农田。
以下我说的话请同时想象空间的场景。
一个人,在一望无际的原野上。自然,人在地表之上,所以用on。这是一般的用法,强调的是个体的人。
一个人,在一个农场工作,除了他自己以外,还有建筑群、牲畜圈,他处于各种其他设施的包围之中,所以用in
a(the)
farm。这种用法强调整体环境。
至于at的用法,强调的是某事在某地发生,也就是说,句子所描述的事情是在农场(而不是其他地方)发生的。
三个介词各有侧重,换成别的地方也是不一样的,不仅仅是farm。
当然有些是特定用法不在此列。但是你仔细思考的话,会发现其实也是通用的。
比如说,表示日期的,用on是强调那一天,用in则表示是在那一段时间内。