For playing games on Mac OS X you have a few options.
For best performance and ease of use, you have Bootcamp, which is a tool that lets you install Windows 7 and dual boot your machine. This lets you turn the machine on in either Windows like a normal PC, or in Mac OSX, but you have to do a full restart, you cannot run both at once.
For the next best performance, but with the most compatibility issues and often more difficult to get working, you have tools based off Wine. Wine is software thats made to allow Windows software to directly run on different OSes... it does NOT require Windows at all like the other 2 methods do. Normal WIne is not for the normal user as you have to compile code yourself and run everything command line. Instead its better for most users to use different software packages designed for the mac that use Wine.
Wineskin is a package that lets someone attempt to port a Windows program (mainly used for games) over into a Mac OS X app.
Crossover Games is a (not free) tool that aids in running Windows games directly on OSX... it is much more user friendly than trying to port it to a full app like Wineskin, but there is much less customization available and you are less likely to get a program to work, if your technically inclined. If you don't feel like digging in deep into getting something ported, its easier for most users. As a full disclaimer, I love Wineskin because its my baby... I started the project and do almost all of the work on it, but making a Windows app into a Mac app and running it like normal on Mac OS X is my preferred choice.
Then lastly you have Virtual machines like
Parallels and
VMWare. While compatibility issues are often less than something Wine based, since its a total virtual machine running a real copy of Windows, it usually takes a bigger hit in performance than Wine... even though they actually use some Wine code for handling Graphics in Parallels, there is just much more work on the computer running a whole virtual computer and a full OS. If its a very old low performance game, and you do not feel like trying to get it to run under Wine, or minor compatibility issues prevent it from running with any current version of Wine, then this is a good way to go, since you can run it on top of OSX and you do not lose all access to OSX like you do with a Bootcamp install.
All that said, Battlefield 3 is untested, and we do not know if it will work with anything Wine based right away, or if it will take some improvements to Wine.... we also cannot know if it will run in a virtual machine correctly, but if it does it will most likely be extremely slow and no playable. Your option to be able to play decently right away would be a Bootcamp install since then your mac really is turned into a normal PC.