I would say, overall, yes, but it really depends whether you want a "traditional" single-player game (in which case, definitely not) or whether you want something more dynamic and replayable.
The AI is a colossal improvement over the previous 2 Battlefield games. They're not perfect but they fight and behave in a much more "believable" manner and are far more aggressive and challenging. The squad and commander system is also a big improvement.
However, there are two serious drawbacks to the SP game. The first, and by far the most serious IMHO, is that you can only play a fraction of the maps available in MP mode. Two maps (Kubra Dam and Mashtuur City) aren't playable offline at all, and all of the others are only playable in 16-player mode. Since the 32- and 64-player modes are virtually like different maps, with larger playable areas, more spawn points, more vehicle types etc., this essentially means that less than a third of the maps are playable offline.
The second problem is that "unlockable" weapons are not available offline - even if you unlock them when playing online. There is a simple fix for this which involves editing one of the game's configuration files, but this does not work with the 1.01 or 1.02 patch.
Modders are already making steps towards solving the first problem (see the forum on this website -
http://www.planetbattlefield.com/battlefieldsingleplayer/realplayer.asp), but there is no solution to the unlock problem other than not installing the patches.